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 Create(PeriodoRecepcion model) { try { dbGI.DbSetPeriodoRecepcion.Add(model); await dbGI.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(PeriodoRecepcion model) { try { var _model = await dbGI.DbSetPeriodoRecepcion.FirstOrDefaultAsync(e => e.PeriodoRecepcionId == model.PeriodoRecepcionId); if (_model != null) { dbGI.Entry(_model).CurrentValues.SetValues(model); await dbGI.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> Create([FromBody] PeriodoRecepcion model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { await _repo.Create(model); return(Ok("Registro creado exitosamente!")); } catch (Exception e) { return(InternalServerError(e)); } }