Пример #1
0
        public ActionResult Anular(cxc_LiquidacionRetProv_Info model)
        {
            model.IdUsuarioAnulacion = SessionFixed.IdUsuario.ToString();
            model.lst_detalle        = ListaDetalle.get_list(model.IdTransaccionSession);
            model.lst_detalle_cbte   = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);

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

            if (!bus_liquidacion.anularDB(model))
            {
                cargar_combos();
                return(View(model));
            }
            ;

            cargar_combos();
            return(RedirectToAction("Index"));
        }
Пример #2
0
        public cxc_LiquidacionRetProv_Info get_info(int IdEmpresa, int IdSucursal, decimal IdLiquidacion)
        {
            try
            {
                cxc_LiquidacionRetProv_Info info;

                using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar())
                {
                    var Entity = Context.cxc_LiquidacionRetProv.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdLiquidacion == IdLiquidacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(null);
                    }
                    info = new cxc_LiquidacionRetProv_Info
                    {
                        IdEmpresa     = Entity.IdEmpresa,
                        IdSucursal    = Entity.IdSucursal,
                        IdLiquidacion = Entity.IdLiquidacion,
                        li_Fecha      = Entity.li_Fecha,
                        Observacion   = Entity.Observacion,
                        Estado        = Entity.Estado,
                        IdTipoCbte    = Entity.IdTipoCbte,
                        IdCbteCble    = Entity.IdCbteCble
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #3
0
        public ActionResult Modificar(cxc_LiquidacionRetProv_Info model)
        {
            model.IdUsuarioModificacion = SessionFixed.IdUsuario.ToString();
            model.lst_detalle           = ListaDetalle.get_list(model.IdTransaccionSession);
            model.lst_detalle_cbte      = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);

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

            if (!bus_liquidacion.modificarDB(model))
            {
                cargar_combos();
                return(View(model));
            }
            ;

            cargar_combos();
            return(RedirectToAction("Consultar", new { IdEmpresa = model.IdEmpresa, IdSucursal = model.IdSucursal, IdLiquidacion = model.IdLiquidacion, Exito = true }));
        }
        public ActionResult Anular(int IdEmpresa = 0, int IdSucursal = 0, decimal IdLiquidacion = 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
            cxc_LiquidacionRetProv_Info model = bus_liquidacion.get_info(IdEmpresa, IdSucursal, IdLiquidacion);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            model.lst_detalle          = bus_liquidacion_det.GetList(IdEmpresa, IdSucursal, IdLiquidacion);
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_detalle_cbte     = bus_cbte_det.get_list(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToInt32(model.IdCbteCble));
            ListaDetalle.set_list(model.lst_detalle, model.IdTransaccionSession);
            list_ct_cbtecble_det.set_list(model.lst_detalle_cbte, model.IdTransaccionSession);

            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.li_Fecha, cl_enumeradores.eModulo.FAC, Convert.ToInt32(SessionFixed.IdSucursal), ref mensaje))
            {
                cargar_combos();
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion

            cargar_combos();
            return(View(model));
        }
Пример #5
0
        public bool anularDB(cxc_LiquidacionRetProv_Info info)
        {
            try
            {
                using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar())
                {
                    var Entity = Context.cxc_LiquidacionRetProv.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdUsuarioAnulacion = info.IdUsuarioAnulacion;
                    Entity.FechaAnulacion     = DateTime.Now;
                    Entity.MotivoAnulacion    = info.MotivoAnulacion;
                    Entity.Estado             = false;
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Nuevo(int IdEmpresa = 0, int IdSucursal = 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
            cxc_LiquidacionRetProv_Info model = new cxc_LiquidacionRetProv_Info
            {
                IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa),
                IdSucursal           = Convert.ToInt32(SessionFixed.IdSucursal),
                li_Fecha             = DateTime.Now,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)
            };
            model.lst_detalle_cbte = new List <ct_cbtecble_det_Info>();
            ListaDetalle.set_list(model.lst_detalle, model.IdTransaccionSession);
            list_ct_cbtecble_det.set_list(model.lst_detalle_cbte, model.IdTransaccionSession);

            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.li_Fecha, cl_enumeradores.eModulo.FAC, Convert.ToInt32(SessionFixed.IdSucursal), ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion
            cargar_combos();
            return(View(model));
        }
Пример #7
0
        public bool guardarDB(cxc_LiquidacionRetProv_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar())
                {
                    cxc_LiquidacionRetProv Entity = new cxc_LiquidacionRetProv
                    {
                        IdEmpresa         = info.IdEmpresa,
                        IdSucursal        = info.IdSucursal,
                        IdLiquidacion     = info.IdLiquidacion = get_id(info.IdEmpresa),
                        li_Fecha          = info.li_Fecha,
                        Observacion       = info.Observacion,
                        Estado            = true,
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    };

                    foreach (var item in info.lst_detalle)
                    {
                        Context.cxc_LiquidacionRetProvDet.Add(new cxc_LiquidacionRetProvDet
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdLiquidacion = info.IdLiquidacion,
                            IdSucursal    = info.IdSucursal,
                            Secuencia     = secuencia++,
                            IdCobro       = item.IdCobro,
                            secuencial    = item.secuencial,
                            IdCobro_tipo  = item.IdCobro_tipo,
                            Valor         = item.Valor,
                        });
                    }

                    var param  = Context.cxc_Parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var diario = odata_ct.armar_info(info.lst_detalle_cbte, info.IdEmpresa, info.IdSucursal, (int)param.IdTipoCbte_LiquidacionRet, 0, info.Observacion, info.li_Fecha);
                    if (diario != null)
                    {
                        odata_ct.guardarDB(diario);
                    }

                    Entity.IdTipoCbte = diario.IdTipoCbte;
                    Entity.IdCbteCble = diario.IdCbteCble;

                    Context.cxc_LiquidacionRetProv.Add(Entity);
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "fa_guia_remision_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }
Пример #8
0
 public bool anularDB(cxc_LiquidacionRetProv_Info info)
 {
     try
     {
         return(odata.anularDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #9
0
        public ActionResult Consultar(int IdEmpresa = 0, int IdSucursal = 0, decimal IdLiquidacion = 0, bool Exito = false)
        {
            #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

            cxc_LiquidacionRetProv_Info model = bus_liquidacion.get_info(IdEmpresa, IdSucursal, IdLiquidacion);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "CuentasPorCobrar", "LiquidacionRetencionCliente", "Index");
            if (model.Estado == false)
            {
                info.Modificar = false;
                info.Anular    = false;
            }
            model.Nuevo     = (info.Nuevo == true ? 1 : 0);
            model.Modificar = (info.Modificar == true ? 1 : 0);
            model.Anular    = (info.Anular == true ? 1 : 0);
            #endregion

            model.lst_detalle          = bus_liquidacion_det.GetList(IdEmpresa, IdSucursal, IdLiquidacion);
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_detalle_cbte     = bus_cbte_det.get_list(model.IdEmpresa, Convert.ToInt32(model.IdTipoCbte), Convert.ToInt32(model.IdCbteCble));
            ListaDetalle.set_list(model.lst_detalle, model.IdTransaccionSession);
            list_ct_cbtecble_det.set_list(model.lst_detalle_cbte, model.IdTransaccionSession);

            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.li_Fecha, cl_enumeradores.eModulo.FAC, Convert.ToInt32(SessionFixed.IdSucursal), ref mensaje))
            {
                cargar_combos();
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion

            if (Exito)
            {
                ViewBag.MensajeSuccess = MensajeSuccess;
            }

            cargar_combos();
            return(View(model));
        }
Пример #10
0
 public bool modificarDB(cxc_LiquidacionRetProv_Info info)
 {
     try
     {
         return(odata.modificarDB(info));
     }
     catch (Exception ex)
     {
         tb_LogError_Bus LogData = new tb_LogError_Bus();
         LogData.GuardarDB(new tb_LogError_Info {
             Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "cxc_cobro_Bus", Metodo = "modificarDB", IdUsuario = info.IdUsuarioModificacion
         });
         return(false);
     }
 }
Пример #11
0
        private bool validar(cxc_LiquidacionRetProv_Info i_validar, ref string msg)
        {
            if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.li_Fecha, cl_enumeradores.eModulo.CXC, i_validar.IdSucursal, ref mensaje))
            {
                return(false);
            }

            if (i_validar.lst_detalle.Count == 0)
            {
                mensaje = "Debe ingresar registros en el detalle";
                return(false);
            }

            if (i_validar.lst_detalle_cbte.Count == 0)
            {
                mensaje = "Debe ingresar registros en el detalle del diario";
                return(false);
            }

            if (Math.Round(i_validar.lst_detalle_cbte.Sum(q => q.dc_Valor), 2) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0";
                return(false);
            }

            if (i_validar.lst_detalle_cbte.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber";
                return(false);
            }

            if (i_validar.lst_detalle_cbte.Where(q => string.IsNullOrEmpty(q.IdCtaCble)).Count() > 0)
            {
                mensaje = "Existen detalles sin cuenta contable";
                return(false);
            }

            return(true);
        }
Пример #12
0
        public bool modificarDB(cxc_LiquidacionRetProv_Info info)
        {
            try
            {
                int secuencia = 1;
                using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar())
                {
                    var Entity = Context.cxc_LiquidacionRetProv.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdSucursal  = info.IdSucursal;
                    Entity.li_Fecha    = info.li_Fecha;
                    Entity.Observacion = info.Observacion;

                    var lst = Context.cxc_LiquidacionRetProvDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdLiquidacion == info.IdLiquidacion).ToList();
                    Context.cxc_LiquidacionRetProvDet.RemoveRange(lst);

                    foreach (var item in info.lst_detalle)
                    {
                        Context.cxc_LiquidacionRetProvDet.Add(new cxc_LiquidacionRetProvDet
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdLiquidacion = info.IdLiquidacion,
                            IdSucursal    = item.IdSucursal,
                            IdCobro       = item.IdCobro,
                            secuencial    = item.secuencial,
                            Secuencia     = secuencia++,
                            IdCobro_tipo  = item.IdCobro_tipo,
                            Valor         = item.dc_ValorPago,
                        });
                    }

                    var info_cbte = odata_ct.get_info(info.IdEmpresa, Convert.ToInt32(info.IdTipoCbte), Convert.ToInt32(info.IdCbteCble));

                    var param  = Context.cxc_Parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    var diario = odata_ct.armar_info(info.lst_detalle_cbte, info.IdEmpresa, info.IdSucursal, Convert.ToInt32(info.IdTipoCbte), Convert.ToInt32(info.IdCbteCble), info.Observacion, info.li_Fecha);
                    if (diario != null)
                    {
                        if (info_cbte == null)
                        {
                            odata_ct.guardarDB(diario);
                        }
                        else
                        {
                            odata_ct.modificarDB(diario);
                        }
                    }

                    Entity.IdTipoCbte = diario.IdTipoCbte;
                    Entity.IdCbteCble = diario.IdCbteCble;

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "fa_guia_remision_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }