Beispiel #1
0
        /// <summary>
        /// Atualiza Disponibilidade do profissional
        /// </summary>
        /// <param name="idUsuario">ID usuario logado</param>
        /// <returns>ComissaoProfissionalEntidade</returns>
        public void AtualizaDisponibilidadeProfissional(long idColaboradorEmpresa, DisponibilidadeFiltro filtro)
        {
            using (var sqlConnection = this.InstanciaConexao())
            {
                // Verifica se já existe o registro
                string queryVer  = @"select count(*) as bit from tblColaboradoresEmpresaDisponiveis where idColaboradorEmpresaSistema = @id";
                var    resultado = sqlConnection.QueryFirstOrDefault <bool>(queryVer, new { id = idColaboradorEmpresa });

                // Update ou insert
                if (resultado)
                {
                    // Query
                    string query = @"update tblColaboradoresEmpresaDisponiveis 
	                                set bitDisponivel = @disponivel, 
	                                    geoPosicao = (select geometry::Point(@log, @lat, 4326)),
		                                idTipoProfissional = @tipoProfissional1,
                                        dtUltimaAtualizacao = getdate() 
                                  where idColaboradorEmpresaSistema = @id";

                    // Query Multiple
                    sqlConnection.Execute(query, new
                    {
                        id                = idColaboradorEmpresa,
                        disponivel        = filtro.bitDisponivel,
                        lat               = filtro.latitude,
                        log               = filtro.longitude,
                        tipoProfissional1 = filtro.idTipoProfissional
                    });
                }
                else
                {
                    // Query
                    string query = @"INSERT INTO [dbo].[tblColaboradoresEmpresaDisponiveis]
                                                       ([idColaboradorEmpresaSistema]
                                                                  ,[idTipoProfissional]
                                                                  ,[geoPosicao]
                                                                  ,[bitDisponivel]
                                                                  ,[dtUltimaAtualizacao])
                                                            VALUES
                                                                  (@id
                                                                  ,@tipoProfissional1
                                                                  ,(select geometry::Point(@log, @lat, 4326))
                                                                  ,@disponivel
                                                                  ,getdate())";

                    // Query Multiple
                    sqlConnection.Execute(query, new
                    {
                        id                = idColaboradorEmpresa,
                        disponivel        = filtro.bitDisponivel,
                        lat               = filtro.latitude,
                        log               = filtro.longitude,
                        tipoProfissional1 = filtro.idTipoProfissional
                    });
                }
            }
        }
Beispiel #2
0
        public IHttpActionResult PutDisponibilidade([FromBody] DisponibilidadeFiltro filtro)
        {
            // Variaveis
            var rep = new ProfissionalRepositorio();

            // Busca Dados resumidos
            var perfil = rep.BuscaPerfilProfissional(UsuarioAutenticado.LoginID);

            // Validacao
            if (perfil == null)
            {
                return(StatusCode(System.Net.HttpStatusCode.NoContent));
            }

            // Atualiza
            rep.AtualizaDisponibilidadeProfissional(perfil.idColaboradorEmpresaSistema, filtro);

            // Return
            return(Ok());
        }