.Net developer

Enviar e receber chamadas JSON em JS para API (webapi ou webmethod)

JS para WebAPI:

                var _data = {
                    "NmCliente": "Dados",
                    "DsEmail": "e34816d43923dc8d779"
                };

                $.ajax({
                    url: 'http://api.codemator.com/cliente/SignIn',
                    data: JSON.stringify(_data),
                    type: "POST",
                    dataType: 'json',
                    contentType: "application/json; charset=utf-8",
                    async: true,
                    complete: function (data) {

                        var _return = $.parseJSON(data.responseText);
                        alert(_return.DsEmail);
                        //debugger;
                        //console.log(data);

                    },
                    error: function (response) {
                        console.log(response.responseText);
                    }
                });


JS para WebMethod: 

            var _data = {};
            _data.nome = "anderson1";
            _data.segundoNome = "bueno";

            $.ajax({
                data: JSON.stringify(_data),
                type: "POST",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                crossDomain: true,
                success: function (data) {
                    var _return = $.parseJSON(data.d);
                    alert(_return.Nome);
                },
                error: function (req, status, error) {
                    alert(2);
                    alert(error);
                    //alert(req.responseText);
                }
            });

Crossdomain

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
      </customHeaders>
    </httpProtocol>
</system.webServer>  

 

sala de chat fixada no canto direito embaixo

  • Use pointer-events: none on the container; elements underneath it will now be clickable.

  • Arrange the chat boxes inside the fixed container with display: inline-block and vertical-align: bottom.

  • The chat boxes get pointer-events: auto so they and their children can be clicked.


CSS:

.under {    position: absolute;    bottom: 200px;    right: 200px;  }  #container {    position: fixed;    bottom: 0;    right: 0;    pointer-events: none;  }  .chat {    border: 1px solid #999;    display: inline-block;    vertical-align: bottom;    position: relative;    margin: 0 5px;    pointer-events: auto;  }  .title {    padding: 0.5em;    background-color: blue;    color: white;  }  .text {    padding: 10px;  }

html:

    
<div class="under">    <input type="text" value="select me!" />  </div>    <div id="container">    <div class="chat">      <div class="title">This is the chat title</div>      <div class="text">        <p>Text 1</p>        <p>Text 2</p>        <p>Text 3</p>      </div>      <div class="chatbox">        <input type="text" />      </div>    </div>    <div class="chat">      <div class="title">This is the chat title</div>      <div class="text" style="height:250px">        <p>Text 1</p>        <p>Text 2</p>        <p>Text 3</p>      </div>      <div class="chatbox">        <input type="text" />      </div>    </div>  </div>

Convertendo tabela em pivot table

CREATE TABLE [dbo].[tb_empresas](
    [data] [date] NULL,
    [nome] [varchar](100) NULL,
    [valor] [decimal](18, 2) NULL
) ON [PRIMARY]
 
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-01-01',103),  'EMPRESA1',   100)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-02-02',103),  'EMPRESA2',   200)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-03-03',103),  'EMPRESA3',   300)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-04-04',103),  'EMPRESA4',   400)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-05-05',103),  'EMPRESA5',   500)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-06-06',103),  'EMPRESA6',   600)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-07-07',103),  'EMPRESA7',   700)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-08-08',103),  'EMPRESA8',   800)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-09-09',103),  'EMPRESA9',   900)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-10-10',103),  'EMPRESA10',   1000)
 
   
 select data, nome, valor  from tb_empresas




create procedure [dbo].[OBTER_COLUNAS_DINAMICAMENTE]
AS
SET NOCOUNT ON
 
DECLARE @COLUNAS VARCHAR(MAX)
SET @COLUNAS = ''
 
SELECT @COLUNAS = COALESCE(@COLUNAS + '[' + (CAST(NOME AS NVARCHAR(255))) + '],','')
FROM (SELECT DISTINCT NOME FROM tb_empresas) AS DADOS_HORIZONTAIS
SET @COLUNAS = LEFT (@COLUNAS, LEN(@COLUNAS)-1)
 
DECLARE @SQLSTRING NVARCHAR(500);
 
SET @SQLSTRING = N'
SELECT * FROM(SELECT  DATEPART(MONTH, DATA) AS MES, NOME, VALOR FROM tb_empresas) AS DADOS_HORIZONTAIS
PIVOT(
 MAX(VALOR) FOR NOME IN('+@COLUNAS+')) AS PivotTable;'
 
EXECUTE SP_EXECUTESQL @SQLSTRING


CREATE TABLE [dbo].[tb_empresas](
    [data] [date] NULL,
    [nome] [varchar](100) NULL,
    [valor] [decimal](18, 2) NULL
) ON [PRIMARY]
 
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-01-01',103),  'EMPRESA1',   100)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-02-02',103),  'EMPRESA2',   200)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-03-03',103),  'EMPRESA3',   300)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-04-04',103),  'EMPRESA4',   400)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-05-05',103),  'EMPRESA5',   500)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-06-06',103),  'EMPRESA6',   600)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-07-07',103),  'EMPRESA7',   700)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-08-08',103),  'EMPRESA8',   800)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-09-09',103),  'EMPRESA9',   900)
  INSERT INTO tb_empresas (data, nome, valor)
  VALUES  (convert(datetime,'2012-10-10',103),  'EMPRESA10',   1000)
 
   
 select data, nome, valor  from tb_empresas




create procedure [dbo].[OBTER_COLUNAS_DINAMICAMENTE]
AS
SET NOCOUNT ON
 
DECLARE @COLUNAS VARCHAR(MAX)
SET @COLUNAS = ''
 
SELECT @COLUNAS = COALESCE(@COLUNAS + '[' + (CAST(NOME AS NVARCHAR(255))) + '],','')
FROM (SELECT DISTINCT NOME FROM tb_empresas) AS DADOS_HORIZONTAIS
SET @COLUNAS = LEFT (@COLUNAS, LEN(@COLUNAS)-1)
 
DECLARE @SQLSTRING NVARCHAR(500);
 
SET @SQLSTRING = N'
SELECT * FROM(SELECT  DATEPART(MONTH, DATA) AS MES, NOME, VALOR FROM tb_empresas) AS DADOS_HORIZONTAIS
PIVOT(
 MAX(VALOR) FOR NOME IN('+@COLUNAS+')) AS PivotTable;'
 
EXECUTE SP_EXECUTESQL @SQLSTRING