예제 #1
0
        public HttpResponseMessage SelectUsersByUad([FromUri] UsuarioEntradaDTO data)
        {
            try
            {
                if (data == null)
                {
                    throw new ValidationException("É necessário informar o(s) parâmetro(s).");
                }

                if (data.uad_id == Guid.Empty && string.IsNullOrEmpty(data.uad_codigo))
                {
                    throw new ValidationException("Unidade administrativa é obrigatório.");
                }

                byte[]    arquivo    = null;
                DataTable dtUsuarios = string.IsNullOrEmpty(data.dataBase.ToString()) ?
                                       SYS_UsuarioBO.SelecionaPorUnidadeAdministrativa(data.ent_id, data.uad_id, data.uad_codigo, data.trazerFoto, data.usu_id) :
                                       SYS_UsuarioBO.SelecionaPorUnidadeAdministrativa(data.ent_id, data.uad_id, data.uad_codigo, data.trazerFoto, data.usu_id, data.dataBase);
                var usuarios = (from dr in dtUsuarios.Rows.Cast <DataRow>()
                                select new
                {
                    usu_id = new Guid(Convert.ToString(dr["usu_id"])),
                    usu_login = Convert.ToString(dr["usu_login"]),
                    usu_email = Convert.ToString(dr["usu_email"]),
                    usu_senha = Convert.ToString(dr["usu_senha"]),
                    usu_criptografia = Convert.ToByte(dr["usu_criptografia"]),
                    usu_situacao = Convert.ToByte(dr["usu_situacao"]),
                    pes_id = string.IsNullOrEmpty(Convert.ToString(dr["pes_id"])) ? Guid.Empty : new Guid(Convert.ToString(dr["pes_id"])),
                    pes_nome = Convert.ToString(dr["pes_nome"]),
                    pes_sexo = string.IsNullOrEmpty(dr["pes_sexo"].ToString()) ? 0 : Convert.ToByte(dr["pes_sexo"]),
                    foto = string.IsNullOrEmpty(Convert.ToString(dr["foto"])) ? arquivo : (byte[])dr["foto"],
                    usu_dataCriacao = Convert.ToDateTime(dr["usu_dataCriacao"]),
                    usu_dataAlteracao = Convert.ToDateTime(dr["usu_dataAlteracao"]),
                    pes_dataNascimento = string.IsNullOrEmpty(dr["pes_dataNascimento"].ToString())
                                         ? new DateTime()
                                         : Convert.ToDateTime(dr["pes_dataNascimento"])
                }).ToList();

                return(Request.CreateResponse(HttpStatusCode.OK, usuarios));
            }
            catch (ValidationException ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }