public async Task <AddEtapaFenologicaResponse> Handle(AddEtapaFenologicaCommand request, CancellationToken cancellationToken) { //Search if exist a Etapa with equals or similar name string nombre = request.Nombre.ToLower().Trim(); EtapaFenologica oldEtapa = await db.EtapaFenologica.Where(el => el.Nombre.ToLower().Trim().Equals(nombre)) .FirstOrDefaultAsync(); if (oldEtapa == null) { EtapaFenologica newEtapa = new EtapaFenologica { Nombre = request.Nombre }; db.EtapaFenologica.Add(newEtapa); } else { oldEtapa.IsDeleted = false; oldEtapa.DeletedDate = null; } await db.SaveChangesAsync(cancellationToken); return(new AddEtapaFenologicaResponse()); }
private void SeedEtapaFenologica(FitoReportDbContext context) { var etapaFenologica = new EtapaFenologica[] { new EtapaFenologica { Nombre = "Floracion" }, new EtapaFenologica { Nombre = "Amarre" }, new EtapaFenologica { Nombre = "Desarrollo vegetativo" }, new EtapaFenologica { Nombre = "Llenado de fruto" }, new EtapaFenologica { Nombre = "Yema inchada" }, }; foreach (var etapa in etapaFenologica) { context.EtapaFenologica.Add(etapa); context.SaveChanges(); } }
public async Task <DeleteEtapaFenologicaResponse> Handle(DeleteEtapaFenologicaCommand request, CancellationToken cancellationToken) { EtapaFenologica entity = await db.EtapaFenologica.FindAsync(request.IdEtapa); db.EtapaFenologica.Remove(entity); await db.SaveChangesAsync(cancellationToken); return(new DeleteEtapaFenologicaResponse()); }
public async Task <AgregarReporteResponse> Handle(AgregarReporteCommand request, CancellationToken cancellationToken) { for (int count = 0; count < request.Reportes.Count; count++) { ReporteDTO item = request.Reportes[count]; Reporte entity = new Reporte { Lugar = item.Lugar, Productor = item.Productor, Latitude = item.Latitude, Longitud = item.Longitud, Ubicacion = item.Ubicacion, Predio = item.Predio, Cultivo = item.Cultivo, Observaciones = item.Observaciones, Litros = item.Litros, }; db.Reporte.Add(entity); await db.SaveChangesAsync(cancellationToken); foreach (ProductoDTO p in item.Productos) { entity.Productos.Add(new Producto { IdReport = entity.Id, Cantidad = p.Cantidad, Unidad = p.Unidad, Concentracion = p.Concentracion, IngredienteActivo = p.IngredienteActivo, IntervaloSeguridad = p.IntervaloSeguridad, NombreProducto = p.Nombre, Reporte = entity }); } foreach (PlagaDTO plaga in item.Plagas) { //Search if exist a Plaga with equals or similar name string nombre = NormalizeString(plaga.Nombre); Plaga oldPlaga = await db.Plaga.Where(el => el.Nombre.Replace(" ", "").ToLower().Equals(nombre)) .FirstOrDefaultAsync(); if (oldPlaga == null) { Plaga newPlaga = new Plaga { Nombre = plaga.Nombre }; db.Plaga.Add(newPlaga); await db.SaveChangesAsync(cancellationToken); entity.ReportePlaga.Add(new ReportePlaga { Plaga = newPlaga }); } else { oldPlaga.IsDeleted = false; oldPlaga.DeletedDate = null; db.Plaga.Update(oldPlaga); entity.ReportePlaga.Add(new ReportePlaga { Plaga = oldPlaga }); } } foreach (EtapaFenogolicaDTO etapa in item.EtapaFenologica) { //Search if exist a Etapa with equals or similar name string nombre = NormalizeString(etapa.Nombre); EtapaFenologica oldEtapaF = await db.EtapaFenologica.Where(el => el.Nombre.Replace(" ", "").ToLower().Equals(nombre)) .FirstOrDefaultAsync(); if (oldEtapaF == null) { var newEtapa = new EtapaFenologica { Nombre = etapa.Nombre }; db.EtapaFenologica.Add(newEtapa); await db.SaveChangesAsync(cancellationToken); entity.ReporteEtapaFenologica.Add(new ReporteEtapaFenologica { EtapaFenologica = newEtapa }); } else { oldEtapaF.IsDeleted = false; oldEtapaF.DeletedDate = null; db.EtapaFenologica.Update(oldEtapaF); entity.ReporteEtapaFenologica.Add(new ReporteEtapaFenologica { EtapaFenologica = oldEtapaF }); } } foreach (EnfermedadDTO enfermedad in item.Enfermedades) { //Search if exist a Enfermedad with equals or similar name string nombre = NormalizeString(enfermedad.Nombre); Enfermedad oldEnfermedad = await db.Enfermedad.Where(el => el.Nombre.Replace(" ", "").ToLower().Equals(nombre)) .FirstOrDefaultAsync(); if (oldEnfermedad == null) { Enfermedad newEnfermedad = new Enfermedad { Nombre = enfermedad.Nombre }; db.Enfermedad.Add(newEnfermedad); await db.SaveChangesAsync(cancellationToken); entity.ReporteEnfermedad.Add(new ReporteEnfermedad { Enfermedad = newEnfermedad }); } else { oldEnfermedad.IsDeleted = false; oldEnfermedad.DeletedDate = null; db.Enfermedad.Update(oldEnfermedad); entity.ReporteEnfermedad.Add(new ReporteEnfermedad { Enfermedad = oldEnfermedad }); } } await db.SaveChangesAsync(cancellationToken); request.Reportes[count].Id = entity.Id; } return(new AgregarReporteResponse { Id = request.Reportes.Select(el => el.Id).ToList() }); }