Пример #1
0
        /// <summary>
        /// Crea un Proyecto en la base de datos
        /// </summary>
        /// <param name="Proyecto"></param>
        /// <returns></returns>
        public async Task <ProyectoDto> AdicionarAsync(ProyectoDto Proyecto)
        {
            HttpResponseMessage response;

            var elUri = $"{_MyStringUri}/Adicionar";

            Proyecto.EstadoId = EstadoEnum.Activo;

            string json = JsonSerializer.Serialize(Proyecto);

            try
            {
                response = await _consumirAPIService.POSTRequestAsync(elUri, json);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(null);
            }
            return(JsonSerializer.Deserialize <ProyectoDto>(response.Content.ReadAsStringAsync().Result, new JsonSerializerOptions()
            {
                PropertyNameCaseInsensitive = true
            }));

            ;
        }
Пример #2
0
        public IActionResult DeleteProyecto([FromBody] ProyectoDto ProyectoDelete)
        {
            UserEntity u = _usersInfoRepository.GetUser(ProyectoDelete.UserNombre, false);

            ProyectoDelete.UserEntity = Mapper.Map <UsersDto>(u);
            //Si los datos son validos los guardara
            if (ProyectoDelete == null || !_usersInfoRepository.ProyectoExiste(ProyectoDelete.Id))
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Comprueba que se guardo bien y lo envia
            if (_usersInfoRepository.DeleteProj(Mapper.Map <ProyectoEntity>(ProyectoDelete)))
            {
                return(Ok("El proyecto fue eliminado correctamente."));
            }
            else
            {
                return(BadRequest());
            }
        }
Пример #3
0
        public async Task <IActionResult> GetProyecto(int id)
        {
            Proyecto proyecto = await _proyectoService.GetProyecto(id).ConfigureAwait(false);

            ProyectoDto proyectoDto            = _mapper.Map <ProyectoDto>(proyecto);
            ApiResponse <ProyectoDto> response = new(proyectoDto);

            response.Succeeded = true;

            return(Ok(response));
        }
Пример #4
0
        public async Task <IActionResult> Put(int id, ProyectoDto proyectotDto)
        {
            Proyecto proyecto = _mapper.Map <Proyecto>(proyectotDto);

            proyecto.Id = id;

            bool result = await _proyectoService.UpdateProyecto(proyecto).ConfigureAwait(false);

            ApiResponse <bool> response = new(result);

            response.Succeeded = true;

            return(Ok(response));
        }
Пример #5
0
        public async Task <IActionResult> Post(ProyectoDto proyectoDto)
        {
            Proyecto proyecto = _mapper.Map <Proyecto>(proyectoDto);

            proyecto.IdEstadoProyecto = _estadoProyectoService.GetByNombre("En Proceso").Result.Id;

            await _proyectoService.InsertProyecto(proyecto).ConfigureAwait(false);

            proyectoDto = _mapper.Map <ProyectoDto>(proyecto);
            ApiResponse <ProyectoDto> response = new(proyectoDto);

            response.Succeeded = true;

            return(Ok(response));
        }
Пример #6
0
        public HttpResponseMessage Update(HttpRequestMessage request, [FromBody] ProyectoDto dto)
        {
            HttpResponseMessage response = null;

            if (!ModelState.IsValid)
            {
                response = request.CreateResponse(HttpStatusCode.BadRequest);
            }
            else
            {
                var dtoUpdated = proyectoService.Update(dto);
                response = request.CreateResponse(HttpStatusCode.OK, dtoUpdated);
            }

            return(response);
        }
        //Recoge todos los proyectos de un usuario
        public IEnumerable <ProyectoDto> GetProyectosDeUsuario(string userNombre)
        {
            List <ProyectoDto> proyectos = new List <ProyectoDto>();

            UserEntity usuario = _context.Users.Where(u => u.Nombre == userNombre).FirstOrDefault();

            if (usuario.RoleId != (int)Roles.User)
            {
                var proyectosE = _context.Proyectos.Include(r => r.LineaEntity).Where(p => p.TestProject == false || p.UserNombre == userNombre).OrderBy(p => p.Nombre).ToList();
                foreach (ProyectoEntity pe in proyectosE)
                {
                    ProyectoDto p = new ProyectoDto();
                    p.Id = pe.Id;
                    //p.Nombre = pe.TestProject ? pe.Nombre : String.Concat(pe.Nombre, " - " , pe.LineaEntity.LineaNombre);
                    p.Nombre           = pe.Nombre;
                    p.Fecha            = pe.Fecha;
                    p.Proyecto         = pe.Proyecto;
                    p.numFinishedEvals = _context.Evaluaciones.Where(e => e.ProyectoId == pe.Id && e.Estado).Count();
                    p.numPendingEvals  = _context.Evaluaciones.Where(e => e.ProyectoId == pe.Id && !e.Estado).Count();
                    p.TestProject      = pe.TestProject;
                    proyectos.Add(p);
                }
            }
            else
            {
                var ProyectosUsuario = _context.UserProyectos.Where(up => up.UserNombre == userNombre).ToList();

                foreach (UserProyectoEntity userProyecto in ProyectosUsuario)
                {
                    var         pe = _context.Proyectos.Where(pr => pr.Id == userProyecto.ProyectoId).FirstOrDefault();
                    ProyectoDto p  = new ProyectoDto();
                    p.Id               = pe.Id;
                    p.Nombre           = pe.Nombre;
                    p.Proyecto         = pe.Proyecto;
                    p.Fecha            = pe.Fecha;
                    p.numFinishedEvals = _context.Evaluaciones.Where(e => e.ProyectoId == pe.Id && e.Estado).Count();
                    p.numPendingEvals  = _context.Evaluaciones.Where(e => e.ProyectoId == pe.Id && !e.Estado).Count();
                    p.TestProject      = pe.TestProject;
                    proyectos.Add(p);
                }
            }

            return(proyectos);
        }
Пример #8
0
        /// <summary>
        /// Eliminar un proyecto
        /// </summary>
        /// <param name="Proyecto"></param>
        /// <returns></returns>
        public async Task <bool> EliminarAsync(ProyectoDto Proyecto)
        {
            HttpResponseMessage response;

            var elUri = $"{_MyStringUri}/Eliminar";

            string json = JsonSerializer.Serialize(Proyecto);

            try
            {
                response = await _consumirAPIService.DELETERequestAsync(elUri, json);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(false);
            }
            return(true);;
        }
Пример #9
0
        public ProyectoDto GetProyectos(int id)
        {
            ProyectoDto result = null;

            try
            {
                result = _utilServices.Proyectos.Select(x => new ProyectoDto
                {
                    Id          = x.Pro_I_Codigo,
                    Descripcion = x.Pro_V_Descripcion,
                    Estado      = x.Estado,
                    FechaFin    = x.Fecha_Fin,
                    FechaInicio = x.Fecha_Inicio
                }).Where(x => x.Id == id).Single();
            }
            catch (Exception ex)
            {
                _utilServices.Errores.Add(ex.SaveModel());
                _utilServices.SaveChanges();
                throw ex;
            }
            return(result);
        }
Пример #10
0
        private void AgregarButton_Click(object sender, EventArgs e)
        {
            ProyectoDto proyectoDto = new ProyectoDto();

            if (NombreTextBox.Text == "")
            {
                MessageBox.Show("Por favor complete el nombre");
                return;
            }
            proyectoDto.Nombre = NombreTextBox.Text;
            if (ClienteID == 0)
            {
                MessageBox.Show("Por favor elija el cliente");
                return;
            }
            proyectoDto.ClienteID = ClienteID;
            if (ProyectoEstadoID == 0)
            {
                MessageBox.Show("Por favor elija el estado del proyecto");
                return;
            }
            proyectoDto.ProyectoEstadoID = ProyectoEstadoID;
            if (ID != 0)
            {
                var proyectoAEditar = container.GetInstance <IProyectoService>().GetByIdAsNoTracking(ID);
                proyectoAEditar.Nombre           = NombreTextBox.Text;
                proyectoAEditar.ClienteID        = ClienteID;
                proyectoAEditar.ProyectoEstadoID = ProyectoEstadoID;
                try
                {
                    var respuesta = container.GetInstance <IProyectoService>().Update(proyectoAEditar);
                    if (respuesta != null)
                    {
                        MessageBox.Show("Proyecto editado");
                    }
                }catch (Exception ex)
                {
                    MessageBox.Show("No se ha podido editar el proyecto. " + ex.Message);
                }
                ID = 0;
                ElegirProyectocomboBox.ResetText();
                ElegirProyectocomboBox.Items.Clear();
                CargarlistaProyectos();
                container.GetInstance <IProyectoService>().Limpiar();
            }
            else
            {
                try
                {
                    var respuesta = container.GetInstance <IProyectoService>().Update(proyectoDto);
                    if (respuesta != null)
                    {
                        MessageBox.Show("Proyecto creado con exito");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("No se pudo crear proyecto. " + ex.Message);
                }
                container.GetInstance <IProyectoService>().Limpiar();
            }
            NombreTextBox.Text = "";
            ElejirClienteComboBox.ResetText();
            ClienteID = 0;
            CambiarEstadocomboBox.ResetText();
            ProyectoEstadoID = 0;
        }