コード例 #1
0
        public async Task <IEnumerable <PropuestaDTO> > Handle(GetMyPropuestas request, CancellationToken cancellationToken)
        {
            var user  = _repository.GetById <Usuario>(request.UserId);
            var props = _repository.List <Propuesta>(t => t.Rubro, t => t.Contratista, t => t.Usuario);

            if (user.RolId == Constants.RolIdContratista)
            {
                props = props.Where(p => p.ContratistaId == request.UserId).ToList();
            }
            else
            {
                props = props.Where(p => p.UsuarioId == request.UserId).ToList();
            }

            return(props.Select(prop => new PropuestaDTO
            {
                Id = prop.Id,
                Nombre = prop.Nombre,
                Descripcion = prop.Descripcion,
                NombreContratista = $"{prop.Contratista.Nombre} {prop.Contratista.Apellido}",
                NombreUsuario = $"{prop.Usuario.Nombre} {prop.Usuario.Apellido}",
                Monto = prop.Monto,
                Rubro = prop.Rubro.Nombre,
                Created = prop.Created,
                Updated = prop.Updated,
                Status = PropuestasStatusExtensions.ToFriendlyString(prop.Status),
            }));
        }
コード例 #2
0
        public async Task <PropuestaDTO> Handle(UpdatePropuestaById request, CancellationToken cancellationToken)
        {
            var prop = _repository.GetById <Propuesta>(request.id);

            prop.ContratistaId = request.contratistaId;
            prop.Descripcion   = request.descripcion;
            prop.RubroId       = request.rubroId;
            prop.Nombre        = request.nombre;
            prop.Descripcion   = request.descripcion;
            prop.Monto         = request.monto;
            prop.Updated       = DateTime.UtcNow;
            prop.Status        = (Helpers.PropuestasStatus)request.Status;

            _repository.Update(prop);
            prop = _repository.List <Propuesta>(t => t.Contratista, t => t.Usuario, t => t.Rubro).Find(a => a.Id == request.id);

            return(new PropuestaDTO
            {
                Id = prop.Id,
                Nombre = prop.Nombre,
                Descripcion = prop.Descripcion,
                NombreContratista = $"{prop.Contratista.Nombre} {prop.Contratista.Apellido}",
                NombreUsuario = $"{prop.Usuario.Nombre} {prop.Usuario.Apellido}",
                Monto = prop.Monto,
                Rubro = prop.Rubro.Nombre,
                Updated = prop.Updated,
                Created = prop.Created,
                Status = PropuestasStatusExtensions.ToFriendlyString(prop.Status),
            });
        }
コード例 #3
0
        public async Task <PropuestaDTO> Handle(AddPropuesta request, CancellationToken cancellationToken)
        {
            var propuesta = _repository.Add(new Propuesta {
                UsuarioId     = request.userId,
                ContratistaId = request.contratistaId,
                Monto         = request.monto,
                Nombre        = request.nombre,
                Descripcion   = request.descripcion,
                RubroId       = request.rubroId,
                Created       = DateTime.UtcNow,
                Updated       = DateTime.UtcNow,
                Status        = Helpers.PropuestasStatus.EnRevision,
            });
            var prop = _repository.List <Propuesta>(t => t.Rubro, t => t.Contratista, t => t.Usuario).Find(p => p.Id == propuesta.Id);

            return(new PropuestaDTO {
                Id = prop.Id,
                Nombre = prop.Nombre,
                Descripcion = prop.Descripcion,
                NombreContratista = $"{prop.Contratista.Nombre} {prop.Contratista.Apellido}",
                NombreUsuario = $"{prop.Usuario.Nombre} {prop.Usuario.Apellido}",
                Monto = prop.Monto,
                Rubro = prop.Rubro.Nombre,
                Updated = prop.Updated,
                Created = prop.Created,
                Status = PropuestasStatusExtensions.ToFriendlyString(prop.Status),
            });
        }
コード例 #4
0
        public async Task <IEnumerable <PropuestaDTO> > Handle(GetAllPropuestas request, CancellationToken cancellationToken)
        {
            var props = _repository.List <Propuesta>(t => t.Rubro, t => t.Contratista, t => t.Usuario);

            return(props.Select(prop => new PropuestaDTO
            {
                Id = prop.Id,
                Nombre = prop.Nombre,
                Descripcion = prop.Descripcion,
                NombreContratista = $"{prop.Contratista.Nombre} + {prop.Contratista.Apellido}",
                NombreUsuario = $"{prop.Usuario.Nombre} + {prop.Usuario.Apellido}",
                Monto = prop.Monto,
                Rubro = prop.Rubro.Nombre,
                Status = PropuestasStatusExtensions.ToFriendlyString(prop.Status),
                Created = prop.Created,
                Updated = prop.Updated
            }));
        }