public IActionResult Edit(int id) { Ganado ganado = _context.Ganado.Find(id); if (ganado != null && ganado.Tipo == 4) { VacaViewModel ganadoView = new VacaViewModel { VacasList = _context.Ganado.Where(x => x.Tipo == 4 && (x.Estado == 2 || x.Estado == 4)).ToList(), TorosList = _context.Ganado.Where(x => x.Tipo == 5 && (x.Estado == 2 || x.Estado == 4)).ToList(), IdGanado = ganado.IdGanado, Codigo = ganado.Codigo, Partos = ganado.Partos, FechaNacimiento = ganado.FechaNacimiento, Peso = ganado.Peso, Valor = ganado.Valor, ValorPeso = ganado.ValorPeso, IdMadre = ganado.IdMadre, IdPadre = ganado.IdPadre }; return(View(ganadoView)); } else { TempData["err"] = "No se encontro el elemento"; return(RedirectToAction("Index")); } }
public IActionResult UpdateGanado(GanadoViewModel model) { Respuesta respuesta = new Respuesta(); using (var db = new SIPGAVContext()) { using (var transsacion = db.Database.BeginTransaction()) { Ganado ganado = new Ganado(); try { ganado = db.Ganados.Find(model.Id); Map(model, ganado); db.Entry(ganado).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); transsacion.Commit(); respuesta.Exito = 1; respuesta.Mensaje = "Ganado Modificado Con Exito!"; } catch (Exception ex) { transsacion.Rollback(); respuesta.Mensaje = ex.Message; } return(Ok(respuesta)); } } }
public IActionResult DeleteGanado(int Id) { Respuesta respuesta = new Respuesta(); using (var db = new SIPGAVContext()) { using (var transsacion = db.Database.BeginTransaction()) { try { Ganado ganado = db.Ganados.Find(Id); db.Ganados.Remove(ganado); db.SaveChanges(); transsacion.Commit(); respuesta.Exito = 1; respuesta.Mensaje = "Ganado Eliminado Con Exito!"; } catch (Exception ex) { transsacion.Rollback(); respuesta.Mensaje = ex.Message; } } } return(Ok(respuesta)); }
public ActionResult AddGanado(GanadoViewModel model) { Respuesta respuesta = new Respuesta(); using (var db = new SIPGAVContext()) { using (var transsacion = db.Database.BeginTransaction()) { Ganado ganado = new Ganado(); try { Map(model, ganado); db.Ganados.Add(ganado); db.SaveChanges(); transsacion.Commit(); respuesta.Exito = 1; respuesta.Mensaje = "Ganado Registrado Con Exito!"; } catch (Exception ex) { transsacion.Rollback(); respuesta.Mensaje = ex.Message; } return(Ok(respuesta)); } } }
public IActionResult Delete(int id) { Ganado ganado = _context.Ganado.Find(id); if (ganado != null) { try { _context.Ganado.Remove(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento eliminado"; Bitacora bitacora = new Bitacora { IdEmpresa = IdEmpresa, IdUsuario = 0, //CAMBIAR!!!!!!!!!!!!!!!!!!!!!! IdGanado = ganado.IdGanado, IdAccion = 3, FechaRegistro = DateTime.Now }; _context.Bitacora.Add(bitacora); _context.SaveChanges(); } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } } else { TempData["err"] = "No se encontro el elemento"; } return(RedirectToAction("Index")); }
private void Map(GanadoViewModel model, Ganado ganado) { ganado.IdFinca = model.IdFinca; ganado.Raza = model.Raza; ganado.TipoAnimal = model.TipoAnimal; ganado.Cantidad = model.Cantidad; ganado.Vacunas = model.Vacunas; }
public IActionResult Details(int id) { try { Ganado vaca = _context.Ganado.Find(id); if (vaca != null) { VacaViewModel vacaViewModel = new VacaViewModel { IdGanado = vaca.IdGanado, Codigo = vaca.Codigo, PartosString = vaca.Partos + " partos", EstadoString = vaca.EstadoNavigation.Descripcion, FechaNacimientoString = vaca.FechaNacimiento.Value.ToShortDateString(), FechaIngresoString = vaca.FechaIngreso.Value.ToShortDateString(), FechaSalidaString = vaca.FechaSalida == null ? " - " : vaca.FechaSalida.Value.ToShortDateString(), PesoString = vaca.Peso == null ? " - " : vaca.Peso + " KG", ValorPesoString = vaca.ValorPeso == null ? " - " : Utilitaries.ConvertToColon(vaca.ValorPeso.Value), ValorString = Utilitaries.ConvertToColon(vaca.Valor.Value), EdadString = Utilitaries.GetDifferenceDate(DateTime.Now, vaca.FechaNacimiento.Value), MadreUrl = vaca.IdMadre == null?"#":"/Vaca/Details/" + vaca.IdMadre.Value, MadreString = vaca.IdMadre == null?" - ":_context.Ganado.Find(vaca.IdMadre.Value).Codigo, PadreUrl = vaca.IdPadre == null?"#":"/Toro/Details/" + vaca.IdPadre.Value, PadreString = vaca.IdPadre == null?" - ":_context.Ganado.Find(vaca.IdPadre.Value).Codigo, UltimaActualizacion = vaca.UltimaActualizacion == null ? "Error" : Utilitaries.getRelativeTime(vaca.UltimaActualizacion.Value) }; var bitacora = _context.Bitacora.Where(x => x.IdGanado == vacaViewModel.IdGanado).ToList(); List <Evento> eventList = new List <Evento>(); foreach (var x in bitacora) { Evento evento = new Evento { Description = x.IdHistorial != null? x.AccionNavigation.Descripcion + " " + Utilitaries.ConvertToColon(x.HistorialNavigation.Monto) + " el " + x.FechaRegistro.ToShortDateString() : x.AccionNavigation.Descripcion + " el " + x.FechaRegistro.ToShortDateString(), Url = x.Url == null ? "#" : x.Url }; eventList.Add(evento); } vacaViewModel.EventList = eventList; return(View(vacaViewModel)); } else { TempData["err"] = "No se encontró el elemento"; return(RedirectToAction("Index")); } } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); return(RedirectToAction("Index")); } }
public IActionResult Create(TerneroViewModel ganadoView) { if (ModelState.IsValid) { try { Ganado ganado = new Ganado { Codigo = ganadoView.Codigo, Tipo = ganadoView.Tipo, IdEmpresa = IdEmpresa, Estado = 1, FechaIngreso = DateTime.Now, FechaNacimiento = ganadoView.FechaNacimiento, Peso = ganadoView.Peso, Valor = ganadoView.Valor, ValorPeso = ganadoView.ValorPeso, IdMadre = ganadoView.IdMadre != 0 ? ganadoView.IdMadre : null, IdPadre = ganadoView.IdPadre != 0 ? ganadoView.IdPadre : null, UltimaActualizacion = DateTime.Now }; _context.Ganado.Add(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento agregado"; Bitacora bitacora = new Bitacora { IdEmpresa = IdEmpresa, IdUsuario = 0, //CAMBIAR!!!!!!!!!!!!!!!!!!!!!! IdGanado = ganado.IdGanado, IdAccion = 1, FechaRegistro = DateTime.Now }; _context.Bitacora.Add(bitacora); _context.SaveChanges(); } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } } else { TempData["err"] = "Formulario incompleto"; } return(RedirectToAction("Index")); }
public IActionResult Edit(TerneroViewModel ganadoView) { if (ModelState.IsValid) { try { Ganado ganado = _context.Ganado.Find(ganadoView.IdGanado); ganado.Codigo = ganadoView.Codigo; ganado.Tipo = ganadoView.Tipo; ganado.FechaNacimiento = ganadoView.FechaNacimiento; ganado.Peso = ganadoView.Peso; ganado.Valor = ganadoView.Valor; ganado.ValorPeso = ganadoView.ValorPeso; ganado.IdMadre = ganadoView.IdMadre != 0 ? ganadoView.IdMadre : null; ganado.IdPadre = ganadoView.IdPadre != 0 ? ganadoView.IdPadre : null; ganado.UltimaActualizacion = DateTime.Now; _context.Ganado.Update(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento modificado"; Bitacora bitacora = new Bitacora { IdEmpresa = IdEmpresa, IdUsuario = 0, //CAMBIAR!!!!!!!!!!!!!!!!!!!!!! IdGanado = ganado.IdGanado, IdAccion = 2, FechaRegistro = DateTime.Now }; _context.Bitacora.Add(bitacora); _context.SaveChanges(); } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } return(RedirectToAction("Index")); } else { TempData["err"] = "Error al rellenar el formulario"; return(RedirectToAction("Index")); } }
public IActionResult Get(int Id) { Respuesta oRespuesta = new Respuesta(); try { using (var db = new SIPGAVContext()) { var lst = db.Ganados.ToList(); Ganado ganado = lst.Where(d => d.Id == Id).FirstOrDefault(); oRespuesta.Exito = 1; oRespuesta.Mensaje = "Ganado"; oRespuesta.Data = ganado; } } catch (Exception e) { oRespuesta.Mensaje = e.Message; } return(Ok(oRespuesta)); }
public IActionResult Delete(int id) { Ganado ganado = _context.Ganado.Find(id); if (ganado != null) { try { _context.Ganado.Remove(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento eliminado"; } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } } else { TempData["err"] = "No se encontro el elemento"; } return(RedirectToAction("Index")); }
public IActionResult Create(VacaViewModel ganadoView) { if (ModelState.IsValid) { try { Ganado ganado = new Ganado { IdEmpresa = IdEmpresa, Codigo = ganadoView.Codigo, Tipo = 4, Estado = 2, FechaIngreso = DateTime.Now, FechaNacimiento = ganadoView.FechaNacimiento, Peso = ganadoView.Peso, Valor = ganadoView.Valor, ValorPeso = ganadoView.ValorPeso, IdMadre = ganadoView.IdMadre != 0 ? ganadoView.IdMadre : null, IdPadre = ganadoView.IdPadre != 0 ? ganadoView.IdPadre : null, Partos = ganadoView.Partos, UltimaActualizacion = DateTime.Now }; _context.Ganado.Add(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento agregado"; } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } } else { TempData["err"] = "Formulario incompleto"; } return(RedirectToAction("Index")); }
public async Task <IActionResult> Edit(int id, [Bind("IdGanado,IdRaza,IdEstancia,IdGenero,Tag,FechaNacimiento,FechaIngreso,Estado")] Ganado ganado) { if (id != ganado.IdGanado) { return(NotFound()); } if (ModelState.IsValid) { try { var movimientoEntrada = _context.Movimiento.Where(x => x.IdGanado == ganado.IdGanado && x.IdRazonMovimientoNavigation.IdTipoMovimiento == TipoMovimiento.Entrada).FirstOrDefault(); movimientoEntrada.FechaMovimiento = ganado.FechaIngreso; _context.Movimiento.Update(movimientoEntrada); _context.Ganado.Update(ganado); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GanadoExists(ganado.IdGanado)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdEstancia"] = new SelectList(_context.Estancia, "IdEstancia", "Nombre", ganado.IdEstancia); ViewData["IdGenero"] = new SelectList(_context.Genero, "IdGenero", "Nombre", ganado.IdGenero); ViewData["IdRaza"] = new SelectList(_context.Raza, "IdRaza", "Nombre", ganado.IdRaza); return(View(ganado)); }
public IActionResult Edit(VacaViewModel ganadoView) { if (ModelState.IsValid) { try { Ganado ganado = _context.Ganado.Find(ganadoView.IdGanado); ganado.Codigo = ganadoView.Codigo; ganado.Tipo = ganadoView.Partos; ganado.Partos = ganadoView.Partos; ganado.FechaNacimiento = ganadoView.FechaNacimiento; ganado.Peso = ganadoView.Peso; ganado.Valor = ganadoView.Valor; ganado.ValorPeso = ganadoView.ValorPeso; ganado.IdMadre = ganadoView.IdMadre != 0 ? ganadoView.IdMadre : null; ganado.IdPadre = ganadoView.IdPadre != 0 ? ganadoView.IdPadre : null; ganado.UltimaActualizacion = DateTime.Now; _context.Ganado.Update(ganado); _context.SaveChanges(); TempData["msj"] = "Elemento modificado"; } catch (Exception e) { TempData["err"] = e.InnerException.ToString(); } return(RedirectToAction("Index")); } else { TempData["err"] = "Error al rellenar el formulario"; return(RedirectToAction("Index")); } }
public async void Generar() { List <DateTime> fechas = new List <DateTime>(); for (int i = 0; i < Cantidad; i++) { fechas.Add(FechaAleatoria(FechaInicio, DateTime.Now)); } fechas.Sort((a, b) => a.CompareTo(b)); for (int i = 0; i < Cantidad; i++) { using (SCGContext context = new SCGContext()) { using (var transaction = context.Database.BeginTransaction()) { var lista = await context.Ganado.Where(x => x.Estado == 1).ToListAsync(); foreach (var val in lista) { if (_rand.NextDouble() < ProbabilidadSalida) { var prob = ((fechas[i] - val.FechaNacimiento).Value.TotalDays / 365) / 6; if (_rand.NextDouble() < prob) { val.Estado = Ganado.Estados.Baja; Movimiento salida = new Movimiento(); salida.FechaMovimiento = fechas[i]; salida.IdGanado = val.IdGanado; if (_rand.NextDouble() < ProbabilidadMuerte) { salida.IdRazonMovimiento = Muertes[_rand.Next(0, Muertes.Count)]; } else { salida.IdRazonMovimiento = 7; } context.Movimiento.Add(salida); await context.SaveChangesAsync(); } } } Ganado animal = new Ganado(); // TAG animal.Tag = (i + 100).ToString() + randomChar + randomChar + randomChar; // Genero if (_rand.NextDouble() < ProbabilidadMacho) { animal.IdGenero = Genero.Tipo.Macho; } else { animal.IdGenero = Genero.Tipo.Hembra; } if (_rand.NextDouble() < ProbabilidadNelore) { animal.IdRaza = 1; } else { animal.IdRaza = Razas[_rand.Next(0, Razas.Count)]; } animal.IdEstancia = 1; bool compra = _rand.NextDouble() > ProbabilidadNacimiento; if (compra) { animal.IdEstanciaOrigen = Estancia[_rand.Next(0, Estancia.Count)]; } else { animal.IdEstanciaOrigen = 1; } animal.FechaNacimiento = fechas[i]; animal.FechaIngreso = fechas[i]; context.Ganado.Add(animal); await context.SaveChangesAsync(); // Movimiento Movimiento movimiento = new Movimiento(); movimiento.FechaMovimiento = fechas[i]; if (compra) { movimiento.IdRazonMovimiento = RazonMovimiento.Tipo.Compra; } else { movimiento.IdRazonMovimiento = RazonMovimiento.Tipo.Nacimiento; // Madre y Padre(Probabilidad) de mas de 2 años random Ganado padre = null, madre = null; if (_rand.NextDouble() < ProbabilidadPadre) { var colPadre = await context.Ganado.Where(x => x.Estado == Ganado.Estados.Activo && x.IdGenero == Genero.Tipo.Macho && (DateTime.Now - x.FechaNacimiento) > TimeSpan.FromDays(365 * 2)).ToListAsync(); if (colPadre.Count != 0) { padre = colPadre[_rand.Next(0, colPadre.Count)]; } if (padre != null) { Relacion relPadre = new Relacion(); relPadre.IdHijo = animal.IdGanado; relPadre.IdProgenitor = padre.IdGanado; context.Relacion.Add(relPadre); await context.SaveChangesAsync(); } } var colMadre = await context.Ganado.Where(x => x.Estado == Ganado.Estados.Activo && x.IdGenero == Genero.Tipo.Hembra && (DateTime.Now - x.FechaNacimiento) > TimeSpan.FromDays(365 * 2)).ToListAsync(); if (colMadre.Count != 0) { padre = colMadre[_rand.Next(0, colMadre.Count)]; } if (madre != null) { Relacion relMadre = new Relacion(); relMadre.IdHijo = animal.IdGanado; relMadre.IdProgenitor = madre.IdGanado; context.Relacion.Add(relMadre); await context.SaveChangesAsync(); } if (padre == null && madre == null) { movimiento.IdRazonMovimiento = RazonMovimiento.Tipo.Compra; } } movimiento.IdGanado = animal.IdGanado; context.Movimiento.Add(movimiento); await context.SaveChangesAsync(); transaction.Commit(); } } } }
public async Task <IActionResult> Create([Bind("IdGanado,IdRaza,IdEstancia,IdEstanciaOrigen,IdGenero,Tag,FechaNacimiento,FechaIngreso,Estado")] Ganado ganado, [Bind("IdRazonMovimiento")] Movimiento movimiento, [Bind("IdPadre", "IdMadre")] Relacion relacion) { if (ModelState.IsValid) { // Validaciones if (ganado.FechaIngreso < ganado.FechaNacimiento) { return(View("~/Views/Shared/Error.cshtml")); } using (var transaccion = _context.Database.BeginTransaction()) { try { // Se crea el builder basandose en el ganado obtenido por binding GanadoBuilder builder = new GanadoBuilder(ganado); // Se crea el movimiento movimiento.IdGanado = ganado.IdGanado; movimiento.FechaMovimiento = ganado.FechaIngreso; builder.AsignarMovimiento(movimiento); // Se verifica si se va a registrar una relación if (movimiento.IdRazonMovimiento == RazonMovimiento.Tipo.Nacimiento) { if (relacion.IdPadre == null && relacion.IdMadre == null) { transaccion.Rollback(); return(View("~/Views/Shared/Error.cshtml")); } Models.Relacion relPadre = null; if (relacion.IdPadre != null) { relPadre = new Models.Relacion(); relPadre.IdProgenitor = (int)relacion.IdPadre; relPadre.IdHijo = ganado.IdGanado; } Models.Relacion relMadre = null; if (relacion.IdMadre != null) { relMadre = new Models.Relacion(); relMadre.IdProgenitor = (int)relacion.IdMadre; relMadre.IdHijo = ganado.IdGanado; } builder.AsignarRelacion(relPadre, relMadre); } _context.Add(ganado); await _context.SaveChangesAsync(); transaccion.Commit(); } catch (Exception) { transaccion.Rollback(); return(View("~/Views/Shared/Error.cshtml")); } return(RedirectToAction(nameof(Index))); } } ViewData["IdEstancia"] = new SelectList(_context.Estancia, "IdEstancia", "Nombre", ganado.IdEstancia); ViewData["IdGenero"] = new SelectList(_context.Genero, "IdGenero", "Nombre", ganado.IdGenero); ViewData["IdRaza"] = new SelectList(_context.Raza, "IdRaza", "Nombre", ganado.IdRaza); return(View(ganado)); }
public async Task <IActionResult> Finalizar(int?id, [Bind("Tag,asistencia,vacunado,peso,padecimientos,glosa")] List <FormResultado> results) { Orden orden = _context.Orden.Where(x => x.IdOrden == id).First(); if (ModelState.IsValid) { using (var transaccion = _context.Database.BeginTransaction()) { try { var queryPes = _context.Pesaje.Where(x => x.IdOrden == orden.IdOrden); var queryVac = _context.Vacunacion.Where(x => x.IdOrden == orden.IdOrden); var queryInsp = _context.Inspeccion.Where(x => x.IdOrden == orden.IdOrden); var queryCont = _context.Conteo.Where(x => x.IdOrden == orden.IdOrden); Pesaje pes = null; Vacunacion vac = null; Inspeccion insp = null; Conteo cont = null; if (queryPes.Count() != 0) { pes = queryPes.First(); } if (queryVac.Count() != 0) { vac = queryVac.First(); } if (queryInsp.Count() != 0) { insp = queryInsp.First(); } if (queryCont.Count() != 0) { cont = queryCont.First(); } foreach (FormResultado r in results) { Ganado vaca = _context.Ganado.Where(x => x.Tag == r.Tag).First(); if (pes != null) { orden.Pesaje.Add(pes); } if (vac != null) { orden.Vacunacion.Add(vac); } if (insp != null) { orden.Inspeccion.Add(insp); } if (cont != null) { orden.Conteo.Add(cont); } ResultadoConteo resultCont = new ResultadoConteo(); ResultadoPesaje resultPes = new ResultadoPesaje(); ResultadoVacunacion resultVac = new ResultadoVacunacion(); ResultadoInspeccion resultInsp = new ResultadoInspeccion(); // Encargandose del conteo; resultCont.Asistencia = r.asistencia; resultCont.IdGanado = vaca.IdGanado; resultCont.IdConteo = orden.Conteo.First().IdConteo; _context.Add(resultCont); //Encargandose del Pesaje if (resultCont.Asistencia == 1 && orden.Pesaje.Count() > 0) { resultPes.Peso = r.peso; resultPes.IdGanado = vaca.IdGanado; resultPes.IdPesaje = orden.Pesaje.First().IdPesaje; _context.Add(resultPes); } //Encargandose de la Vacunacion if (resultCont.Asistencia == 1 && orden.Vacunacion.Count() > 0) { List <VacunaAplicada> aplicaciones = new List <VacunaAplicada>(); var queryPlanificacion = _context.PlanificacionVacunacion.Where(x => x.IdVacunacion == orden.Vacunacion.First().IdVacunacion); foreach (PlanificacionVacunacion plan in queryPlanificacion) { VacunaAplicada aplicacion = new VacunaAplicada(); aplicacion.IdVacuna = plan.IdVacuna; aplicaciones.Add(aplicacion); } orden.Vacunacion.First().PlanificacionVacunacion = queryPlanificacion.ToList(); resultVac.IdGanado = vaca.IdGanado; resultVac.IdVacunacion = orden.Vacunacion.First().IdVacunacion; _context.Add(resultVac); foreach (VacunaAplicada ap in aplicaciones) { ap.IdResultadoVacunacion = resultVac.IdResultadoVacunacion; _context.Add(ap); } } //Encargandose de la Inspeccion if (resultCont.Asistencia == 1 && orden.Inspeccion.Count() > 0) { List <InspeccionPadecimiento> inspad_list = new List <InspeccionPadecimiento>(); resultInsp.Glosa = r.glosa; resultInsp.IdGanado = vaca.IdGanado; resultInsp.IdInspeccion = orden.Inspeccion.First().IdInspeccion; foreach (int num in r.padecimientos) { InspeccionPadecimiento inspad = new InspeccionPadecimiento(); inspad.IdPadecimiento = num; inspad_list.Add(inspad); } resultInsp.InspeccionPadecimiento = inspad_list; _context.Add(resultInsp); foreach (InspeccionPadecimiento ip in inspad_list) { ip.IdResultadoInspeccion = resultInsp.IdResultadoInspeccion; _context.Add(ip); } //orden.Estado='desactivado' _context.Update(orden); } } transaccion.Commit(); } catch { transaccion.Rollback(); return(View("~/Views/Shared/Error.cshtml")); throw; } await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } return(View(orden)); }