public IActionResult PUT([FromBody] TrabajadorDto trabajadorDto, int id)
        {
            var             sexo     = new Sexo();
            string          fecha    = "";
            DateTime        fechaNac = new DateTime();
            IFormatProvider culture  = new System.Globalization.CultureInfo("en-US", true);

            if (ModelState.IsValid)
            {
                var t = context.Trabajadores.Find(id);
                if (t != null)
                {
                    t.Nombre        = trabajadorDto.Nombre;
                    t.Apellidos     = trabajadorDto.Apellidos;
                    t.Direccion     = trabajadorDto.Direccion;
                    t.Correo        = trabajadorDto.Correo;
                    t.MunicipioId   = trabajadorDto.MunicipioId;
                    t.TelefonoMovil = trabajadorDto.TelefonoMovil;
                    t.TelefonoFijo  = trabajadorDto.TelefonoFijo;

                    //Cambio del sexo y fecha Nacimiento en caso de que cambie el CI
                    if (t.CI != trabajadorDto.CI)
                    {
                        if (trabajadorDto.CI != null)
                        {
                            var sexoCI = int.Parse(trabajadorDto.CI.Substring(9, 1));
                            if (sexoCI % 2 == 0)
                            {
                                sexo = Sexo.M;
                            }
                            else
                            {
                                sexo = Sexo.F;
                            }
                            var siglo = int.Parse(trabajadorDto.CI.Substring(6, 1));
                            if (siglo >= 0 && siglo <= 5)
                            {
                                fecha = "19" + trabajadorDto.CI.Substring(0, 6);
                            }
                            if (siglo >= 6 && siglo <= 8)
                            {
                                fecha = "20" + trabajadorDto.CI.Substring(0, 6);
                            }
                            t.Sexo      = sexo;
                            fechaNac    = DateTime.ParseExact(fecha, "yyyyMMdd", culture);
                            t.Fecha_Nac = fechaNac;
                        }
                    }
                    t.CI = trabajadorDto.CI;
                    context.Update(t);
                }
                return(NotFound());
            }
            return(BadRequest(ModelState));
        }
예제 #2
0
        public IActionResult AprobContrato([FromBody] AproContratoDto aprobarContratoDto, int id)
        {
            if (aprobarContratoDto.ContratoId != id)
            {
                return(BadRequest(ModelState));
            }
            var c = context.Contratos.Find(id);

            if (c != null && aprobarContratoDto.roles != null)
            {
                if (aprobarContratoDto.roles.Contains("economico"))
                {
                    c.AprobEconomico = true;
                }
                else if (aprobarContratoDto.roles.Contains("juridico"))
                {
                    c.AprobJuridico = true;
                }
                else if (aprobarContratoDto.roles.Contains("comite de contratacion") && aprobarContratoDto.FechaDeFirmado != null)
                {
                    c.AprobComitContratacion = true;
                    c.FechaDeFirmado         = aprobarContratoDto.FechaDeFirmado;
                    c.FechaVenContrato       = aprobarContratoDto.FechaDeVencimiento;
                    c.Estado = Estado.Aprobado;
                }
                context.Update(c);
                context.SaveChanges();
                return(Ok());
            }
            return(NotFound());
        }