public async Task UpdateEstado(PeriodoFI model) { try { var _anterior = await dbGI.DbSetPeriodoFI.Where(x => x.Estado == true).FirstOrDefaultAsync(); if (_anterior != null) { _anterior.Estado = false; await dbGI.SaveChangesAsync(); } var _model = await dbGI.DbSetPeriodoFI.FirstOrDefaultAsync(e => e.PeriodoFIId == model.PeriodoFIId); if (_model != null) { _model.Estado = model.Estado; await dbGI.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(PeriodoFI model) { try { var _model = await dbGI.DbSetPeriodoFI.FirstOrDefaultAsync(e => e.PeriodoFIId == model.PeriodoFIId); if (_model != null) { if (!model.ExisteEn(dbGI.DbSetPeriodoFI.Where(e => e.PeriodoFIId != model.PeriodoFIId).Select(e => e.Nombre).ToList(), "Nombre")) { dbGI.Entry(_model).CurrentValues.SetValues(model); await dbGI.SaveChangesAsync(); } else { throw new ApplicationException("Ya existe un registro con ese nombre."); } } } catch (ApplicationException e) { throw new ApplicationException(e.Message, e); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Create(PeriodoFI model) { try { if (!model.ExisteEn(dbGI.DbSetPeriodoFI.Where(e => e.PeriodoFIId != model.PeriodoFIId).Select(e => e.Nombre).ToList(), "Nombre")) { dbGI.DbSetPeriodoFI.Add(model); await dbGI.SaveChangesAsync(); try { //////creacion del periodo de recepcion PeriodoRecepcionRepository precep = new PeriodoRecepcionRepository(); PeriodoRecepcion modelRecep = new PeriodoRecepcion(); modelRecep.PeriodoFIId = model.PeriodoFIId; modelRecep.FechaInicioPlaneada = model.FechaInicioPlaneada; modelRecep.FechaInicioReal = model.FechaInicioReal; var fechaFin = model.FechaInicioReal; fechaFin = fechaFin.AddDays(30); modelRecep.FechaTerminoPlaneada = fechaFin; modelRecep.FechaTerminoReal = fechaFin; await precep.Create(modelRecep); //////creacion del periodo de replica PeriodoReplicaRepository replicaDB = new PeriodoReplicaRepository(); PeriodoReplica replica = new PeriodoReplica(); var fechaFInReplica = fechaFin.AddDays(31); replica.PeriodoFIId = model.PeriodoFIId; replica.FechaInicioPlaneada = fechaFin.AddDays(1); replica.FechaInicioReal = replica.FechaInicioPlaneada; replica.FechaTerminoPlaneada = fechaFInReplica; replica.FechaTerminoReal = fechaFInReplica; await replicaDB.Create(replica); } catch (Exception err) { await this.Delete(model.PeriodoFIId); throw new Exception(err.Message, err); } } else { throw new ApplicationException("Ya existe un registro con ese nombre."); } } catch (ApplicationException e) { throw new ApplicationException(e.Message, e); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> UpdateEstado([FromBody] PeriodoFI model) { try { await _repo.UpdateEstado(model); return(Ok("Registro actualizado exitosamente!")); } catch (Exception e) { return(InternalServerError(e)); } }
public async Task <IHttpActionResult> Create([FromBody] PeriodoFI model) { try { model.FechaInicioReal = model.FechaInicioPlaneada; model.FechaTerminoReal = model.FechaTerminoPlaneada; await _repo.Create(model); return(Ok("Registro creado exitosamente!")); } catch (ApplicationException e) { return(BadRequest(e.Message)); } catch (Exception e) { return(InternalServerError(e)); } }