public async Task <IngresoDiarioDTO> ActualizarMarcacion(IngresoDiarioDTO ingresoDiarioDTO) { var response = await httpClient.PostAsJsonAsync("/api/IngresoDiario/Actualizar", ingresoDiarioDTO); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); var ingresoDiarioActualizadoDTO = JsonConvert.DeserializeObject <IngresoDiarioDTO>(content); return(ingresoDiarioActualizadoDTO); } else { return(null); } }
public async Task <IActionResult> ActualizarIngresoDiario([FromBody] IngresoDiarioDTO ingresoDiarioDTO) { if (ingresoDiarioDTO != null) { var resultado = await ingresoDiarioRepositorio.Actualizar(ingresoDiarioDTO); if (resultado == null) { return(BadRequest()); } return(Ok(resultado)); } else { return(BadRequest()); } }
public async Task <IngresoDiarioDTO> Actualizar(IngresoDiarioDTO funcionarioDTO) { try { if (funcionarioDTO != null) { IngresoDiario ingDiarioBD = await db.IngresosDiarios.FindAsync(funcionarioDTO.Id); IngresoDiario ingresoDiario = mapper.Map <IngresoDiarioDTO, IngresoDiario>(funcionarioDTO, ingDiarioBD); var updateIngresoDiario = db.IngresosDiarios.Update(ingresoDiario); await db.SaveChangesAsync(); return(mapper.Map <IngresoDiario, IngresoDiarioDTO>(updateIngresoDiario.Entity)); } else { return(null); } } catch (Exception e) { return(null); } }
public async Task <int> Agregar(IngresoDTO ingresoDTO) { try { Proveedor proveedor = await db.Proveedores.FindAsync(ingresoDTO.Proveedor.Id); Funcionario funcionario = await db.Funcionarios.FindAsync(ingresoDTO.Funcionario.Id); IngresoDiarioDTO ingDiarioDTO = mapper.Map <IngresoDTO, IngresoDiarioDTO>(ingresoDTO); if (ingresoDTO.FechaInicio == ingresoDTO.FechaFin) { IngresoDiario ingDiarioBD = mapper.Map <IngresoDiarioDTO, IngresoDiario>(ingDiarioDTO); IngresoDiario ingresoDiarioUno = new IngresoDiario() { Proveedor = proveedor, Funcionario = funcionario, Fecha = ingresoDTO.FechaInicio.Value, EntradaPlanificada = ingDiarioBD.EntradaPlanificada, SalidaPlanificada = ingDiarioBD.SalidaPlanificada }; db.Entry(ingresoDiarioUno.Proveedor).State = EntityState.Unchanged; db.Entry(ingresoDiarioUno.Funcionario).State = EntityState.Unchanged; await db.IngresosDiarios.AddAsync(ingresoDiarioUno); return(await db.SaveChangesAsync()); } if (ingresoDTO.FechaInicio < ingresoDTO.FechaFin) { var diffFechas = ingresoDTO.FechaFin - ingresoDTO.FechaInicio; int cantidadDias = diffFechas.Value.Days + 1; DateTime fechaInicio = ingresoDTO.FechaInicio.Value; IngresoDiario ingDiarioBD = mapper.Map <IngresoDiarioDTO, IngresoDiario>(ingDiarioDTO); for (int i = 0; i < cantidadDias; i++) { IngresoDiario ingresoDiarioMuchos = new IngresoDiario() { Proveedor = proveedor, Funcionario = funcionario, Fecha = fechaInicio.AddDays(i), EntradaPlanificada = ingDiarioBD.EntradaPlanificada, SalidaPlanificada = ingDiarioBD.SalidaPlanificada }; db.Entry(ingresoDiarioMuchos.Proveedor).State = EntityState.Unchanged; db.Entry(ingresoDiarioMuchos.Funcionario).State = EntityState.Unchanged; await db.IngresosDiarios.AddAsync(ingresoDiarioMuchos); } return(await db.SaveChangesAsync()); } return(-1); } catch (Exception e) { return(-1); } }