示例#1
0
        private bool Validar(pre_Presupuesto_Info i_validar, ref string msg)
        {
            i_validar.ListaPresupuestoDet = Lista_PresupuestoDet.get_list(i_validar.IdTransaccionSession);

            if (i_validar.ListaPresupuestoDet.Count == 0)
            {
                mensaje = "Debe ingresar al menos un rubro";
                return(false);
            }
            else
            {
                foreach (var item1 in i_validar.ListaPresupuestoDet)
                {
                    var contador = 0;
                    foreach (var item2 in i_validar.ListaPresupuestoDet)
                    {
                        if (item1.IdRubro == item2.IdRubro)
                        {
                            contador++;
                        }

                        if (contador > 1)
                        {
                            mensaje = "Existen rubros repetidos en el detalle";
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }
        public pre_Presupuesto_Info get_info(int IdEmpresa, int IdPresupuesto)
        {
            try
            {
                pre_Presupuesto_Info info = new pre_Presupuesto_Info();
                using (Entities_presupuesto Context = new Entities_presupuesto())
                {
                    pre_Presupuesto Entity = Context.pre_Presupuesto.Where(q => q.IdPresupuesto == IdPresupuesto && q.IdEmpresa == IdEmpresa).FirstOrDefault();

                    if (Entity == null)
                    {
                        return(null);
                    }
                    info = new pre_Presupuesto_Info
                    {
                        IdEmpresa        = Entity.IdEmpresa,
                        IdPresupuesto    = Entity.IdPresupuesto,
                        IdSucursal       = Entity.IdSucursal,
                        IdPeriodo        = Entity.IdPeriodo,
                        Observacion      = Entity.Observacion,
                        MontoAprobado    = Entity.MontoAprobado,
                        MontoSolicitado  = Entity.MontoSolicitado,
                        Estado           = Entity.Estado,
                        MotivoAnulacion  = Entity.MotivoAnulacion,
                        MotivoAprobacion = Entity.MotivoAprobacion
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        public ActionResult Modificar(int IdEmpresa = 0, int IdPresupuesto = 0)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            pre_Presupuesto_Info model = bus_Presupuesto.GetInfo(IdEmpresa, IdPresupuesto);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.ListaPresupuestoDet  = bus_PresupuestoDet.GetList(model.IdEmpresa, Convert.ToInt32(model.IdPresupuesto));
            Lista_PresupuestoDet.set_list(model.ListaPresupuestoDet, model.IdTransaccionSession);

            cargar_combos(IdEmpresa);
            return(View(model));
        }
        public bool AprobarBD(pre_Presupuesto_Info info)
        {
            try
            {
                using (Entities_presupuesto db = new Entities_presupuesto())
                {
                    pre_Presupuesto entity = db.pre_Presupuesto.Where(q => q.IdPresupuesto == info.IdPresupuesto && q.IdEmpresa == info.IdEmpresa).FirstOrDefault();

                    if (entity == null)
                    {
                        return(false);
                    }

                    entity.IdUsuarioAprobacion = info.IdUsuarioAprobacion;
                    entity.FechaAprobacion     = DateTime.Now;
                    entity.MontoAprobado       = info.MontoAprobado;
                    entity.MotivoAprobacion    = info.MotivoAprobacion;

                    db.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#5
0
        public bool ModificarBD(pre_Presupuesto_Info info)
        {
            try
            {
                using (Entities_presupuesto db = new Entities_presupuesto())
                {
                    pre_Presupuesto entity = db.pre_Presupuesto.Where(q => q.IdPresupuesto == info.IdPresupuesto && q.IdEmpresa == info.IdEmpresa).FirstOrDefault();

                    if (entity == null)
                    {
                        return(false);
                    }

                    double monto_solicitado = info.ListaPresupuestoDet.Sum(v => v.Monto);

                    entity.IdSucursal            = info.IdSucursal;
                    entity.IdPeriodo             = info.IdPeriodo;
                    entity.IdGrupo               = info.IdGrupo;
                    entity.Observacion           = info.Observacion;
                    entity.MontoSolicitado       = monto_solicitado;
                    entity.IdUsuarioModificacion = info.IdUsuarioModificacion;
                    entity.FechaModificacion     = DateTime.Now;

                    entity.IdUsuarioAprobacion = null;

                    var lst_PresupuestoDet = db.pre_PresupuestoDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdPresupuesto == info.IdPresupuesto).ToList();
                    db.pre_PresupuestoDet.RemoveRange(lst_PresupuestoDet);

                    if (info.ListaPresupuestoDet != null)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.ListaPresupuestoDet)
                        {
                            pre_Rubro EntityRubro = db.pre_Rubro.Where(q => q.IdRubro == item.IdRubro && q.IdEmpresa == info.IdEmpresa).FirstOrDefault();

                            db.pre_PresupuestoDet.Add(new pre_PresupuestoDet
                            {
                                IdEmpresa     = info.IdEmpresa,
                                IdPresupuesto = info.IdPresupuesto,
                                Secuencia     = Secuencia++,
                                IdRubro       = item.IdRubro,
                                IdCtaCble     = EntityRubro.IdCtaCble,
                                Monto         = item.Monto
                            });
                        }
                    }
                    db.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
 public bool AprobarBD(pre_Presupuesto_Info info)
 {
     try
     {
         return(oData.AprobarBD(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#7
0
        public bool GuardarBD(pre_Presupuesto_Info info)
        {
            try
            {
                double monto_solicitado = info.ListaPresupuestoDet.Sum(v => v.Monto);
                using (Entities_presupuesto db = new Entities_presupuesto())
                {
                    db.pre_Presupuesto.Add(new pre_Presupuesto
                    {
                        IdEmpresa         = info.IdEmpresa,
                        IdPresupuesto     = info.IdPresupuesto = get_id(info.IdEmpresa),
                        IdSucursal        = info.IdSucursal,
                        IdGrupo           = info.IdGrupo,
                        IdPeriodo         = info.IdPeriodo,
                        Observacion       = info.Observacion,
                        MontoSolicitado   = monto_solicitado,
                        MontoAprobado     = info.MontoAprobado,
                        Estado            = true,
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    });

                    if (info.ListaPresupuestoDet != null)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.ListaPresupuestoDet)
                        {
                            pre_Rubro EntityRubro = db.pre_Rubro.Where(q => q.IdRubro == item.IdRubro && q.IdEmpresa == info.IdEmpresa).FirstOrDefault();

                            db.pre_PresupuestoDet.Add(new pre_PresupuestoDet
                            {
                                IdEmpresa     = info.IdEmpresa,
                                IdPresupuesto = info.IdPresupuesto,
                                Secuencia     = Secuencia++,
                                IdRubro       = item.IdRubro,
                                IdCtaCble     = EntityRubro.IdCtaCble,
                                Monto         = item.Monto
                            });
                        }
                    }
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#8
0
        public ActionResult Anular(pre_Presupuesto_Info model)
        {
            model.IdUsuarioAnulacion = SessionFixed.IdUsuario.ToString();
            if (!bus_Presupuesto.AnularBD(model))
            {
                ViewBag.mensaje = "No se ha podido anular el registro";

                model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
                //model.ListaPresupuestoDet = bus_PresupuestoDet.GetList(model.IdEmpresa, Convert.ToInt32(model.IdGrupo));
                Lista_PresupuestoDet.set_list(model.ListaPresupuestoDet, model.IdTransaccionSession);

                cargar_combos(model.IdEmpresa);
                return(View(model));
            }
            ;
            return(RedirectToAction("Index"));
        }
示例#9
0
        public ActionResult Modificar(pre_Presupuesto_Info model)
        {
            model.ListaPresupuestoDet   = Lista_PresupuestoDet.get_list(model.IdTransaccionSession);
            model.IdUsuarioModificacion = Session["IdUsuario"].ToString();

            if (!Validar(model, ref mensaje))
            {
                ViewBag.mensaje = mensaje;
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }

            if (!bus_Presupuesto.ModificarBD(model))
            {
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
示例#10
0
        public ActionResult Importar(int IdEmpresa = 0)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            pre_Presupuesto_Info model = new pre_Presupuesto_Info
            {
                IdEmpresa            = IdEmpresa,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)
            };
            return(View(model));
        }
示例#11
0
        public ActionResult Nuevo(pre_Presupuesto_Info model)
        {
            model.IdUsuarioCreacion   = SessionFixed.IdUsuario;
            model.ListaPresupuestoDet = Lista_PresupuestoDet.get_list(model.IdTransaccionSession);

            if (!Validar(model, ref mensaje))
            {
                ViewBag.mensaje = mensaje;
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }

            if (!bus_Presupuesto.GuardarBD(model))
            {
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
示例#12
0
        public ActionResult Importar(pre_Presupuesto_Info model)
        {
            try
            {
                var ListaDet = Lista_PresupuestoDet.get_list(model.IdTransaccionSession);
                model.ListaPresupuestoDet = ListaDet;

                if (!bus_Presupuesto.GuardarBD(model))
                {
                    ViewBag.mensaje = "Error al importar el archivo";
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                ViewBag.error = ex.Message.ToString();
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
示例#13
0
        public ActionResult Nuevo(int IdEmpresa = 0)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            pre_Presupuesto_Info model = new pre_Presupuesto_Info
            {
                IdEmpresa            = IdEmpresa,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession),
                IdUsuarioCreacion    = SessionFixed.IdUsuario
            };

            cargar_combos(IdEmpresa);
            Lista_PresupuestoDet.set_list(new List <pre_PresupuestoDet_Info>(), model.IdTransaccionSession);
            return(View(model));
        }
        public pre_Presupuesto_Info GetInfo(int IdEmpresa, int IdPresupuesto)
        {
            try
            {
                pre_Presupuesto_Info info_ = new pre_Presupuesto_Info();

                info_ = oData.get_info(IdEmpresa, IdPresupuesto);
                if (info_ == null)
                {
                    info_ = new pre_Presupuesto_Info();
                }
                info_.ListaPresupuestoDet = oData_det.GetList(IdEmpresa, IdPresupuesto);
                if (info_.ListaPresupuestoDet == null)
                {
                    info_.ListaPresupuestoDet = new List <pre_PresupuestoDet_Info>();
                }

                return(info_);
            }
            catch (Exception)
            {
                throw;
            }
        }