예제 #1
0
        // 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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 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);
 }