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)); }
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()); }