コード例 #1
0
ファイル: ServicioHC.cs プロジェクト: efrainSG/SernaSotomayor
    public TipoResponse guardaTipo(TipoRequest request)
    {
        var          Contexto = new UMSernaSotomayorEntities();
        TipoResponse response;
        var          tipo = Contexto.Tipoes.FirstOrDefault(t => t.Id.Equals(request.Id));

        if (tipo == null)
        {
            tipo = Contexto.Tipoes.Add(Ensamblador.ToTipo(request));
        }
        else
        {
            tipo.Nombre = request.Nombre;
        }
        try
        {
            Contexto.SaveChanges();
            response = new TipoResponse {
                Id = tipo.Id, Nombre = tipo.Nombre
            };
        }
        catch (Exception ex)
        {
            response = new TipoResponse {
                Id = tipo.Id, Nombre = tipo.Nombre
            };
            response.Error.ErrNum     = ex.HResult;
            response.Error.ErrMensaje = ex.Message;
        }
        return(response);
    }
コード例 #2
0
        public TipoResponse RetornarTipo(int codigoTipo)
        {
            try
            {
                var perfil = painelRepositorio.RetornarTipo(codigoTipo);

                TipoResponse response = new TipoResponse()
                {
                    Codigo        = perfil.IdTipo,
                    Descricao     = perfil.NomeTipo,
                    Identificacao = perfil.IdtTipo
                };

                return(response);
            }
            catch
            {
                unitOfWork.Rollback();
                throw;
            }
            finally
            {
                unitOfWork.Dispose();
            }
        }
コード例 #3
0
        public HttpResponse <LoginResponse> Login(string username, string password)
        {
            var encryptionManager = new EncryptionManager();
            var pass = encryptionManager.Encryptdata(password);

            using (var db = new GeviApiContext())
            {
                var user = db.Usuarios
                           .Where(u => u.Email.Equals(username) && u.Contrasenia.Equals(pass))
                           .FirstOrDefault();

                if (user != null)
                {
                    #region cargarListas
                    var clientes = db.Clientes
                                   .Include(c => c.Proyectos)
                                   .Include(c => c.Tipo)
                                   .ToList();


                    var tipoClientes = db.TipoClientes.ToList();
                    var monedas      = db.Monedas.ToList();
                    var tipoGastos   = db.TipoGastos.ToList();

                    var clientesResponse     = new List <ClienteResponse>();
                    var tipoClientesResponse = new List <TipoResponse>();
                    var tipoGastosResponse   = new List <TipoResponse>();

                    foreach (var c in clientes)
                    {
                        var nuevoCliente = new ClienteResponse()
                        {
                            Id        = c.Id,
                            Nombre    = c.Nombre,
                            Proyectos = null, // lo devuelvo null porque no me interesa devolver los proyectos
                            Tipo      = c.Tipo
                        };

                        clientesResponse.Add(nuevoCliente);
                    }

                    foreach (var tc in tipoClientes)
                    {
                        var nuevoTipoCliente = new TipoResponse()
                        {
                            TipoNombre = tc.Nombre
                        };

                        tipoClientesResponse.Add(nuevoTipoCliente);
                    }

                    foreach (var tg in tipoGastos)
                    {
                        var nuevoTipoGasto = new TipoResponse()
                        {
                            TipoNombre = tg.Nombre
                        };

                        tipoGastosResponse.Add(nuevoTipoGasto);
                    }
                    #endregion

                    if (user is Empleado)
                    {
                        Empleado usuario = user as Empleado;

                        var viajes = db.Viajes
                                     .Where(v => v.Empleado.Id == usuario.Id)
                                     .Where(v => v.Estado == Estado.APROBADO)
                                     .Include(v => v.Empleado)
                                     .Include(v => v.Gastos)
                                     .Include(v => v.Proyecto)
                                     .ToList();

                        var response = new List <ViajeResponse>();

                        #region traerViajesDelEmpleado
                        if (viajes != null)
                        {
                            foreach (var v in viajes)
                            {
                                var nuevo = new ViajeResponse()
                                {
                                    Id          = v.Id,
                                    EmpleadoId  = usuario.Id,
                                    Estado      = v.Estado,
                                    FechaFin    = v.FechaFin,
                                    FechaInicio = v.FechaInicio,
                                    Gastos      = null,
                                    Proyecto    = v.Proyecto?.Nombre
                                };

                                if (v.Gastos != null)
                                {
                                    var gastosRespone = new List <GastoResponse>();

                                    foreach (var g in v.Gastos)
                                    {
                                        var nuevoGastoResponse = new GastoResponse()
                                        {
                                            Id       = g.Id,
                                            Estado   = g.Estado,
                                            Fecha    = g.Fecha,
                                            Moneda   = g.Moneda?.Nombre,
                                            Tipo     = g.Tipo?.Nombre,
                                            ViajeId  = v.Id,
                                            Proyecto = g.Viaje?.Proyecto?.Nombre,
                                            Total    = g.Total,
                                            Empleado = g.Empleado?.Nombre
                                        };

                                        gastosRespone.Add(nuevoGastoResponse);
                                    }

                                    nuevo.Gastos = gastosRespone;
                                }

                                response.Add(nuevo);
                            }
                        }
                        #endregion

                        return(newHttpResponse(new LoginResponse()
                        {
                            Id = user.Id,
                            Email = user.Email,
                            FechaRegistro = user.FechaRegistro,
                            Nombre = user.Nombre,
                            Clientes = clientesResponse,
                            Monedas = monedas,
                            TipoClientes = tipoClientesResponse,
                            TipoGastos = tipoGastosResponse,
                            EsEmpleado = user is Empleado,
                            ViajesAprobados = response
                        }));
                    }

                    if (user is Administrativo)
                    {
                        var empleados = db.Usuarios
                                        .OfType <Empleado>()
                                        .ToList();

                        return(newHttpResponse(new LoginResponse()
                        {
                            Id = user.Id,
                            Email = user.Email,
                            FechaRegistro = user.FechaRegistro,
                            Nombre = user.Nombre,
                            Clientes = clientesResponse,
                            Monedas = monedas,
                            TipoClientes = tipoClientesResponse,
                            TipoGastos = tipoGastosResponse,
                            EsEmpleado = user is Empleado,
                            Empleados = empleados
                        }));
                    }

                    return(newHttpResponse(new LoginResponse()
                    {
                        Id = user.Id,
                        Email = user.Email,
                        FechaRegistro = user.FechaRegistro,
                        Nombre = user.Nombre,
                        Clientes = clientesResponse,
                        Monedas = monedas,
                        TipoClientes = tipoClientesResponse,
                        TipoGastos = tipoGastosResponse,
                        EsEmpleado = user is Empleado
                    }));
                }
                else
                {
                    return(newHttpErrorResponse(new Error("Login invalido. Verifique las credenciales.")));
                }
            }
        }