// GET: Pendientes/Create public ActionResult Create() { var proveedores = from l in db.Local_Grupo_Convenio join u in db.CONVENIOS_UTILITY on l.id equals u.LOCAL_GRUPO_CONVENIO select l.Grupo; var proveedoresAgrupados = from l in db.Local_Grupo_Convenio group l by l.Grupo into g select g; var viewModel = new Local_Pendientes_Proveedores(); var listaProveedores = new List<string>(); foreach (var p in proveedoresAgrupados) { listaProveedores.Add(p.Key); } viewModel.listaProveedores = new SelectList(listaProveedores); //Obteniendo fecha actual String fechaActual = DateTime.Now.Date.ToShortDateString(); viewModel.FECHA = DateTime.Parse(fechaActual); return View(viewModel); }
public ActionResult Create(Local_Pendientes_Proveedores local_Pendientes_Proveedores) { //Para ver los posibles errores var errores = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { try { //agregar estado por default 'NO PAGADA' string estadoDefault = "NO PAGADO"; string proveedorSeleccionado = local_Pendientes_Proveedores.proveedorSeleccionado; local_Pendientes_Proveedores.ESTADO = estadoDefault; //buscar proveedor por proveedorSeleccionado var proveedor = from l in db.Local_Grupo_Convenio where l.Grupo == proveedorSeleccionado.ToString() select l.id; //asignar proveedor local_Pendientes_Proveedores.LOCAL_GRUPO_CONVENIO = proveedor.First(); //no dejar que se agregue otra factura para el mismo proveedor var listadoProveedores = db.Local_Pendientes_Proveedores; if (listadoProveedores.Any()) { foreach (var v in listadoProveedores) { if (v.LOCAL_GRUPO_CONVENIO == local_Pendientes_Proveedores.LOCAL_GRUPO_CONVENIO) //verificar el mismo proveeodr { if (v.PENDIENTE_COBRO == local_Pendientes_Proveedores.PENDIENTE_COBRO && v.PENDIENTE_PAGO == local_Pendientes_Proveedores.PENDIENTE_PAGO) //mismos montos pendientes { if (v.FECHA.Month == local_Pendientes_Proveedores.FECHA.Month && v.FECHA.Year == local_Pendientes_Proveedores.FECHA.Year) //misma fecha (mes/año) { ViewBag.Error = "Ya ha agregado una factura para este proveedor con los mismos parametros"; return RedirectToAction("Error", "Home"); } } } } } db.Local_Pendientes_Proveedores.Add(local_Pendientes_Proveedores); db.SaveChanges(); return RedirectToAction("Index"); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } } var proveedores = from l in db.Local_Grupo_Convenio join u in db.CONVENIOS_UTILITY on l.id equals u.LOCAL_GRUPO_CONVENIO select l.Grupo; var proveedoresAgrupados = from l in db.Local_Grupo_Convenio group l by l.Grupo into g select g; var viewModel = new Local_Pendientes_Proveedores(); var listaProveedores = new List<string>(); foreach (var p in proveedoresAgrupados) { listaProveedores.Add(p.Key); } viewModel.listaProveedores = new SelectList(listaProveedores); //Obteniendo fecha actual String fechaActual = DateTime.Now.Date.ToShortDateString(); viewModel.FECHA = DateTime.Parse(fechaActual); return View(viewModel); }
public ActionResult Edit(int id, Local_Pendientes_Proveedores local_Pendientes_Proveedores) { var fechaVieja = from lp in db.Local_Pendientes_Proveedores where lp.Pendiente_proveedor_id == id select lp.FECHA; var utilityViejo = from lp in db.Local_Pendientes_Proveedores where lp.Pendiente_proveedor_id == id select lp.LOCAL_GRUPO_CONVENIO; if (ModelState.IsValid) { db.Entry(local_Pendientes_Proveedores).State = EntityState.Modified; local_Pendientes_Proveedores.FECHA = fechaVieja.Cast<DateTime>().First(); local_Pendientes_Proveedores.LOCAL_GRUPO_CONVENIO = utilityViejo.Cast<int>().First(); db.SaveChanges(); return RedirectToAction("Index"); } return View(local_Pendientes_Proveedores); }