コード例 #1
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
            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "CuentasPorCobrar", "LiquidacionTarjetaCredito", "Index");
            if (!info.Nuevo)
            {
                return(RedirectToAction("Index"));
            }
            #endregion

            cxc_LiquidacionTarjeta_Info model = new cxc_LiquidacionTarjeta_Info
            {
                IdEmpresa            = IdEmpresa,
                IdSucursal           = Convert.ToInt32(SessionFixed.IdSucursal),
                Fecha                = DateTime.Now.Date,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)
            };

            cargar_combos(IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #2
0
        private bool Validar(cxc_LiquidacionTarjeta_Info i_validar, ref string msg)
        {
            i_validar.ListaDet              = Lista_LiquidacionTarjetaDet.get_list(i_validar.IdTransaccionSession);
            i_validar.ListaCobros           = Lista_LiquidacionTarjeta_x_cxc_cobro.get_list(i_validar.IdTransaccionSession);
            i_validar.IdUsuarioCreacion     = SessionFixed.IdUsuario;
            i_validar.IdUsuarioModificacion = SessionFixed.IdUsuario;

            if (i_validar.ListaCobros.Count == 0)
            {
                msg = "Seleccione al menos un cobro por tarjeta de crédito para liquidar";
                return(false);
            }

            if (i_validar.ListaDet.Where(q => q.Valor == 0).Count() > 0)
            {
                msg = "No pueden existir motivos con valor 0";
                return(false);
            }
            double Diferencia = i_validar.ListaCobros.Sum(q => q.Valor) - i_validar.ListaDet.Sum(q => q.Valor);

            if (Math.Round(Diferencia, 2, MidpointRounding.AwayFromZero) <= 0)
            {
                msg = "Los motivos de liquidación no deben superar el valor de los cobros a liquidar";
                return(false);
            }

            return(true);
        }
コード例 #3
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_LiquidacionTarjeta_Info model = bus_LiquidacionTarjeta.GetInfo(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", "LiquidacionTarjetaCredito", "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.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            Lista_LiquidacionTarjetaDet.set_list(bus_LiquidacionTarjetaDet.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);
            Lista_LiquidacionTarjeta_x_cxc_cobro.set_list(bus_LiquidacionTarjeta_cxc_cobro.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);

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

            #region Validacion Periodo BAN
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.BANCO, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion
            #region Validacion Periodo CXC
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.CXC, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion

            cargar_combos(IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #4
0
 public bool anularDB(cxc_LiquidacionTarjeta_Info info)
 {
     try
     {
         return(odata.anularDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #5
0
        public ActionResult Anular(cxc_LiquidacionTarjeta_Info model)
        {
            model.IdUsuarioAnulacion = SessionFixed.IdUsuario;
            if (!bus_LiquidacionTarjeta.anularDB(model))
            {
                cargar_combos(model.IdEmpresa, model.IdSucursal);
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
コード例 #6
0
        public cxc_LiquidacionTarjeta_Info GetInfo(int IdEmpresa, int IdSucursal, decimal IdLiquidacion)
        {
            try
            {
                cxc_LiquidacionTarjeta_Info info = new cxc_LiquidacionTarjeta_Info();
                info = odata.get_info(IdEmpresa, IdSucursal, IdLiquidacion);

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #7
0
 public bool modificarDB(cxc_LiquidacionTarjeta_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_LiquidacionTarjeta_Bus", Metodo = "modificarDB", IdUsuario = info.IdUsuarioCreacion
         });
         return(false);
     }
 }
コード例 #8
0
        public ActionResult Modificar(cxc_LiquidacionTarjeta_Info model)
        {
            if (!Validar(model, ref mensaje))
            {
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                cargar_combos(model.IdEmpresa, model.IdSucursal);
                return(View(model));
            }
            if (!bus_LiquidacionTarjeta.modificarDB(model))
            {
                cargar_combos(model.IdEmpresa, model.IdSucursal);
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                return(View(model));
            }

            return(RedirectToAction("Consultar", new { IdEmpresa = model.IdEmpresa, IdSucursal = model.IdSucursal, IdLiquidacion = model.IdLiquidacion, Exito = true }));
        }
コード例 #9
0
        public ActionResult Modificar(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_LiquidacionTarjeta_Info model = bus_LiquidacionTarjeta.GetInfo(IdEmpresa, IdSucursal, IdLiquidacion);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            Lista_LiquidacionTarjetaDet.set_list(bus_LiquidacionTarjetaDet.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);
            Lista_LiquidacionTarjeta_x_cxc_cobro.set_list(bus_LiquidacionTarjeta_cxc_cobro.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);

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

            #region Validacion Periodo BAN
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.BANCO, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion
            #region Validacion Periodo CXC
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.CXC, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion

            cargar_combos(IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #10
0
        public ActionResult Nuevo(cxc_LiquidacionTarjeta_Info model)
        {
            if (!Validar(model, ref mensaje))
            {
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                cargar_combos(model.IdEmpresa, model.IdSucursal);
                return(View(model));
            }
            if (!bus_LiquidacionTarjeta.guardarDB(model))
            {
                cargar_combos(model.IdEmpresa, model.IdSucursal);
                SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString();
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
コード例 #11
0
        public bool anularDB(cxc_LiquidacionTarjeta_Info info)
        {
            try
            {
                using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                {
                    var Entity = db.cxc_LiquidacionTarjeta.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Estado             = false;
                    Entity.IdUsuarioAnulacion = info.IdUsuarioAnulacion;
                    Entity.MotivoAnulacion    = info.MotivoAnulacion;
                    Entity.FechaAnulacion     = DateTime.Now;

                    var lst_cobros = db.cxc_LiquidacionTarjeta_x_cxc_cobro.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).ToList();
                    db.cxc_LiquidacionTarjeta_x_cxc_cobro.RemoveRange(lst_cobros);

                    db.SaveChanges();
                    if (info.IdCbteCble_ct != null)
                    {
                        if (data_cbtecble.anularDB(new ct_cbtecble_Info {
                            IdEmpresa = info.IdEmpresa, IdTipoCbte = (int)info.IdTipoCbte_ct, IdCbteCble = (decimal)info.IdCbteCble_ct, IdUsuarioAnu = info.IdUsuarioAnulacion, cb_MotivoAnu = info.MotivoAnulacion
                        }))
                        {
                            if (data_cbteban.anularDB(new ba_Cbte_Ban_Info {
                                IdEmpresa = info.IdEmpresa, IdTipocbte = (int)info.IdTipoCbte_ct, IdCbteCble = (decimal)info.IdCbteCble_ct, IdUsuario_Anu = info.IdUsuarioAnulacion, MotivoAnulacion = info.MotivoAnulacion
                            }))
                            {
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #12
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

            cxc_LiquidacionTarjeta_Info model = new cxc_LiquidacionTarjeta_Info
            {
                IdEmpresa            = IdEmpresa,
                IdSucursal           = Convert.ToInt32(SessionFixed.IdSucursal),
                Fecha                = DateTime.Now.Date,
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)
            };

            cargar_combos(IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #13
0
        public cxc_LiquidacionTarjeta_Info get_info(int IdEmpresa, int IdSucursal, decimal IdLiquidacion)
        {
            try
            {
                cxc_LiquidacionTarjeta_Info info = new cxc_LiquidacionTarjeta_Info();
                using (Entities_cuentas_por_cobrar Context = new Entities_cuentas_por_cobrar())
                {
                    cxc_LiquidacionTarjeta Entity = Context.cxc_LiquidacionTarjeta.Where(q => q.IdLiquidacion == IdLiquidacion && q.IdSucursal == IdSucursal && q.IdEmpresa == IdEmpresa).FirstOrDefault();

                    if (Entity == null)
                    {
                        return(null);
                    }
                    info = new cxc_LiquidacionTarjeta_Info
                    {
                        IdEmpresa     = Entity.IdEmpresa,
                        IdSucursal    = Entity.IdSucursal,
                        IdLiquidacion = Entity.IdSucursal,
                        IdBanco       = Entity.IdBanco,
                        Valor         = Entity.Valor,
                        Fecha         = Entity.Fecha,
                        Estado        = Entity.Estado,
                        IdEmpresa_ct  = Entity.IdEmpresa_ct,
                        IdTipoCbte_ct = Entity.IdTipoCbte_ct,
                        IdCbteCble_ct = Entity.IdCbteCble_ct,
                        Observacion   = Entity.Observacion,
                        Lote          = Entity.Lote
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #14
0
        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_LiquidacionTarjeta_Info model = bus_LiquidacionTarjeta.GetInfo(IdEmpresa, IdSucursal, IdLiquidacion);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            Lista_LiquidacionTarjetaDet.set_list(bus_LiquidacionTarjetaDet.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);
            Lista_LiquidacionTarjeta_x_cxc_cobro.set_list(bus_LiquidacionTarjeta_cxc_cobro.GetList(IdEmpresa, IdSucursal, IdLiquidacion), model.IdTransaccionSession);

            cargar_combos(IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #15
0
        public bool modificarDB(cxc_LiquidacionTarjeta_Info info)
        {
            try
            {
                using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                {
                    var Entity = db.cxc_LiquidacionTarjeta.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Lote                  = info.Lote;
                    Entity.Fecha                 = info.Fecha;
                    Entity.IdBanco               = info.IdBanco;
                    Entity.Observacion           = info.Observacion;
                    Entity.Valor                 = info.Valor = Math.Round(info.ListaCobros.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero);
                    Entity.IdUsuarioModificacion = info.IdUsuarioCreacion;
                    Entity.FechaModificacion     = DateTime.Now;

                    int Secuencia  = 1;
                    var lst_cobros = db.cxc_LiquidacionTarjeta_x_cxc_cobro.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).ToList();
                    db.cxc_LiquidacionTarjeta_x_cxc_cobro.RemoveRange(lst_cobros);

                    foreach (var item in info.ListaCobros)
                    {
                        db.cxc_LiquidacionTarjeta_x_cxc_cobro.Add(new cxc_LiquidacionTarjeta_x_cxc_cobro
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdSucursal    = info.IdSucursal,
                            IdLiquidacion = info.IdLiquidacion,
                            Secuencia     = Secuencia++,
                            Valor         = item.Valor,
                            IdCobro       = item.IdCobro
                        });
                    }
                    Secuencia = 1;
                    var lst_motivos = db.cxc_LiquidacionTarjetaDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdLiquidacion == info.IdLiquidacion).ToList();
                    db.cxc_LiquidacionTarjetaDet.RemoveRange(lst_motivos);
                    foreach (var item in info.ListaDet)
                    {
                        var motivo = db.cxc_MotivoLiquidacionTarjeta_x_tb_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdMotivo == item.IdMotivo).FirstOrDefault();
                        if (motivo != null)
                        {
                            item.IdCtaCble = motivo.IdCtaCble;
                        }
                        db.cxc_LiquidacionTarjetaDet.Add(new cxc_LiquidacionTarjetaDet
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdSucursal    = info.IdSucursal,
                            IdLiquidacion = info.IdLiquidacion,
                            Secuencia     = Secuencia++,
                            IdMotivo      = item.IdMotivo,
                            Porcentaje    = item.Porcentaje,
                            Valor         = item.Valor
                        });
                    }
                    db.SaveChanges();
                    var cobro_tipo = db.cxc_cobro_tipo_Param_conta_x_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdCobro_tipo == "TARJ").FirstOrDefault();
                    if (cobro_tipo != null)
                    {
                        var CbteBan = ArmarDiario(info, cobro_tipo.IdCtaCble);
                        if (CbteBan != null)
                        {
                            if (CbteBan.IdCbteCble == 0)
                            {
                                if (data_cbteban.guardarDB(CbteBan, Info.Helps.cl_enumeradores.eTipoCbteBancario.NCBA))
                                {
                                    Entity.IdEmpresa_ct  = info.IdEmpresa_ct = CbteBan.IdEmpresa;
                                    Entity.IdTipoCbte_ct = info.IdTipoCbte_ct = CbteBan.IdTipocbte;
                                    Entity.IdCbteCble_ct = info.IdCbteCble_ct = CbteBan.IdCbteCble;
                                    db.SaveChanges();
                                }
                            }
                            else
                            {
                                if (data_cbteban.modificarDB(CbteBan, Info.Helps.cl_enumeradores.eTipoCbteBancario.NCBA))
                                {
                                }
                            }
                        }
                    }
                }

                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 = "cxc_LiquidacionTarjeta_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuarioCreacion
                });
                return(false);
            }
        }
コード例 #16
0
        public ba_Cbte_Ban_Info ArmarDiario(cxc_LiquidacionTarjeta_Info info, string IdCtaCble_tarjeta)
        {
            Entities_banco db_b = new Entities_banco();

            try
            {
                var TipoCbte = db_b.ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.CodTipoCbteBan == "NCBA").FirstOrDefault();
                if (TipoCbte == null)
                {
                    return(null);
                }

                if (info.IdTipoCbte_ct == null)
                {
                    info.IdTipoCbte_ct = TipoCbte.IdTipoCbteCble;
                }

                ba_Cbte_Ban_Info diario = new ba_Cbte_Ban_Info
                {
                    IdEmpresa       = info.IdEmpresa,
                    IdTipocbte      = Convert.ToInt32(info.IdTipoCbte_ct),
                    IdCbteCble      = info.IdCbteCble_ct == null ? 0 : Convert.ToInt32(info.IdCbteCble_ct),
                    cb_Fecha        = info.Fecha,
                    IdUsuario       = info.IdUsuarioCreacion,
                    IdUsuarioUltMod = info.IdUsuarioModificacion,
                    Estado          = "A",
                    IdBanco         = info.IdBanco,
                    cb_Valor        = Math.Round(info.ListaCobros.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero),
                    IdSucursal      = info.IdSucursal,
                    cb_Observacion  = "LIQ. TARJ. #" + info.IdLiquidacion + " " + info.Observacion,
                    lst_det_ct      = new List <ct_cbtecble_det_Info>()
                };
                int Secuencia = 1;
                var banco     = db_b.ba_Banco_Cuenta.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdBanco == info.IdBanco).FirstOrDefault();
                diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                {
                    secuencia              = Secuencia++,
                    IdCtaCble              = banco.IdCtaCble,
                    dc_Valor               = Math.Round(diario.cb_Valor - info.ListaDet.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero),
                    dc_para_conciliar      = true,
                    dc_para_conciliar_null = true,
                });
                foreach (var item in info.ListaDet)
                {
                    diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                    {
                        secuencia = Secuencia++,
                        IdCtaCble = item.IdCtaCble,
                        dc_Valor  = Math.Round(item.Valor, 2, MidpointRounding.AwayFromZero),
                    });
                }
                diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                {
                    secuencia = Secuencia++,
                    IdCtaCble = IdCtaCble_tarjeta,
                    dc_Valor  = Math.Round(info.Valor, 2, MidpointRounding.AwayFromZero) * -1,
                });

                diario.lst_det_canc_op = new List <Info.CuentasPorPagar.cp_orden_pago_cancelaciones_Info>();
                diario.lst_det_ing     = new List <ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito_Info>();

                if (Math.Round(diario.lst_det_ct.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
                {
                    return(null);
                }

                if (diario.lst_det_ct.Where(q => string.IsNullOrEmpty(q.IdCtaCble)).Count() > 0)
                {
                    return(null);
                }
                db_b.Dispose();
                return(diario);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #17
0
        public bool guardarDB(cxc_LiquidacionTarjeta_Info info)
        {
            try
            {
                using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                {
                    var Entity = new cxc_LiquidacionTarjeta
                    {
                        IdEmpresa         = info.IdEmpresa,
                        IdSucursal        = info.IdSucursal,
                        IdLiquidacion     = info.IdLiquidacion = get_id(info.IdEmpresa, info.IdSucursal),
                        Lote              = info.Lote,
                        Fecha             = info.Fecha,
                        IdBanco           = info.IdBanco,
                        Observacion       = info.Observacion,
                        Estado            = info.Estado = true,
                        Valor             = info.Valor = Math.Round(info.ListaCobros.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero),
                        IdUsuarioCreacion = info.IdUsuarioCreacion,
                        FechaCreacion     = DateTime.Now
                    };
                    int Secuencia = 1;
                    foreach (var item in info.ListaCobros)
                    {
                        db.cxc_LiquidacionTarjeta_x_cxc_cobro.Add(new cxc_LiquidacionTarjeta_x_cxc_cobro
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdSucursal    = info.IdSucursal,
                            IdLiquidacion = info.IdLiquidacion,
                            Secuencia     = Secuencia++,
                            Valor         = item.Valor,
                            IdCobro       = item.IdCobro
                        });
                    }
                    Secuencia = 1;
                    foreach (var item in info.ListaDet)
                    {
                        var motivo = db.cxc_MotivoLiquidacionTarjeta_x_tb_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdMotivo == item.IdMotivo).FirstOrDefault();
                        if (motivo != null)
                        {
                            item.IdCtaCble = motivo.IdCtaCble;
                        }
                        db.cxc_LiquidacionTarjetaDet.Add(new cxc_LiquidacionTarjetaDet
                        {
                            IdEmpresa     = info.IdEmpresa,
                            IdSucursal    = info.IdSucursal,
                            IdLiquidacion = info.IdLiquidacion,
                            Secuencia     = Secuencia++,
                            IdMotivo      = item.IdMotivo,
                            Porcentaje    = item.Porcentaje,
                            Valor         = item.Valor
                        });
                    }
                    db.cxc_LiquidacionTarjeta.Add(Entity);
                    db.SaveChanges();
                    var cobro_tipo = db.cxc_cobro_tipo_Param_conta_x_sucursal.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdCobro_tipo == "TARJ").FirstOrDefault();
                    if (cobro_tipo != null)
                    {
                        var CbteBan = ArmarDiario(info, cobro_tipo.IdCtaCble);
                        if (CbteBan != null)
                        {
                            if (data_cbteban.guardarDB(CbteBan, Info.Helps.cl_enumeradores.eTipoCbteBancario.NCBA))
                            {
                                Entity.IdEmpresa_ct  = info.IdEmpresa_ct = CbteBan.IdEmpresa;
                                Entity.IdTipoCbte_ct = info.IdTipoCbte_ct = CbteBan.IdTipocbte;
                                Entity.IdCbteCble_ct = info.IdCbteCble_ct = CbteBan.IdCbteCble;
                                db.SaveChanges();
                            }
                        }
                    }
                }

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