예제 #1
0
        public ActionResult Modificar(int IdEmpresa = 0, decimal IdConciliacion_caja = 0)
        {
            cp_conciliacion_Caja_Info model = bus_conciliacion.get_info(IdEmpresa, IdConciliacion_caja);

            if (model.FechaOP.Year == 1)
            {
                model.FechaOP = DateTime.Now;
            }
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #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

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_det_fact         = bus_det.get_list(model.IdEmpresa, model.IdConciliacion_Caja);
            list_det.set_list(model.lst_det_fact, model.IdTransaccionSession);
            model.lst_det_vale = bus_vales.get_list(model.IdEmpresa, model.IdConciliacion_Caja);
            list_vale.set_list(model.lst_det_vale, model.IdTransaccionSession);
            model.lst_det_ing = bus_ing.get_list_ingresos_x_conciliar(IdEmpresa, model.Fecha_fin, model.IdCaja);
            list_ing.set_list(model.lst_det_ing, model.IdTransaccionSession);
            cargar_combos(IdEmpresa);
            return(View(model));
        }
        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
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info
            {
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual),

                IdEmpresa      = IdEmpresa,
                Fecha          = DateTime.Now.Date,
                IdPeriodo      = Convert.ToInt32(DateTime.Now.Date.ToString("yyyyMM")),
                Fecha_ini      = DateTime.Now,
                Fecha_fin      = DateTime.Now,
                FechaOP        = DateTime.Now,
                IdEstadoCierre = cl_enumeradores.eEstadoCierreCaja.EST_CIE_ABI.ToString(),
                lst_det_fact   = new List <cp_conciliacion_Caja_det_Info>(),
                lst_det_ing    = new List <cp_conciliacion_Caja_det_Ing_Caja_Info>(),
                lst_det_vale   = new List <cp_conciliacion_Caja_det_x_ValeCaja_Info>(),
                lst_det_ct     = new List <ct_cbtecble_det_Info>()
            };

            list_det.set_list(model.lst_det_fact, model.IdTransaccionSession);
            list_vale.set_list(model.lst_det_vale, model.IdTransaccionSession);
            list_ing.set_list(model.lst_det_ing, model.IdTransaccionSession);
            list_ct.set_list(model.lst_det_ct, model.IdTransaccionSession);
            cargar_combos(IdEmpresa);
            return(View(model));
        }
예제 #3
0
        public ActionResult GridViewPartial_conciliacion_ingresos()
        {
            SessionFixed.IdTransaccionSessionActual = Request.Params["TransaccionFixed"] != null ? Request.Params["TransaccionFixed"].ToString() : SessionFixed.IdTransaccionSessionActual;
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_ing = list_ing.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_conciliacion_ingresos", model));
        }
예제 #4
0
        public ActionResult EditingDeleteFactura(int secuencia)
        {
            list_det.DeleteRow(secuencia, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_fact = list_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_conciliacion_facturas", model));
        }
예제 #5
0
        public ActionResult EditingDeleteVale(int secuencia)
        {
            list_vale.DeleteRow(secuencia, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_vale = list_vale.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_conciliacion_vales", model));
        }
예제 #6
0
        public ActionResult GridViewPartial_conciliacion_vales()
        {
            SessionFixed.IdTransaccionSessionActual = Request.Params["TransaccionFixed"] != null ? Request.Params["TransaccionFixed"].ToString() : SessionFixed.IdTransaccionSessionActual;
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_vale         = list_vale.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSession));
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_conciliacion_vales", model));
        }
예제 #7
0
        public ActionResult EditingUpdateFactura([ModelBinder(typeof(DevExpressEditorsBinder))] cp_conciliacion_Caja_det_Info info_det)
        {
            if (ModelState.IsValid)
            {
                list_det.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_fact = list_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_conciliacion_facturas", model));
        }
예제 #8
0
 public bool modificarDB(cp_conciliacion_Caja_Info info)
 {
     try
     {
         return(odata.modificarDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #9
0
        public ActionResult EditingAddNewVale([ModelBinder(typeof(DevExpressEditorsBinder))] cp_conciliacion_Caja_det_x_ValeCaja_Info info_det)
        {
            if (ModelState.IsValid)
            {
                list_vale.AddRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_vale = list_vale.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_conciliacion_vales", model));
        }
예제 #10
0
 public bool anularDB(cp_conciliacion_Caja_Info info)
 {
     try
     {
         return(odata.anularDB(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 = "cp_conciliacion_Caja_Bus", Metodo = "modificarDB", IdUsuario = info.IdUsuario
         });
         return(false);
     }
 }
예제 #11
0
        public ActionResult Modificar(cp_conciliacion_Caja_Info model)
        {
            if (!validar(model, ref mensaje))
            {
                ViewBag.mensaje = mensaje;
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }
            model.IdUsuario = SessionFixed.IdUsuario;
            if (!bus_conciliacion.modificarDB(model))
            {
                ViewBag.mensaje = "No se ha podido modificar el registro";
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Anular(int IdEmpresa = 0, decimal IdConciliacion_caja = 0)
        {
            cp_conciliacion_Caja_Info model = bus_conciliacion.get_info(IdEmpresa, IdConciliacion_caja);

            if (model.FechaOP.Year == 1)
            {
                model.FechaOP = DateTime.Now;
            }
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #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

            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_det_fact         = bus_det.get_list(model.IdEmpresa, model.IdConciliacion_Caja);
            list_det.set_list(model.lst_det_fact, model.IdTransaccionSession);
            model.lst_det_vale = bus_vales.get_list(model.IdEmpresa, model.IdConciliacion_Caja);
            list_vale.set_list(model.lst_det_vale, model.IdTransaccionSession);
            model.lst_det_ing = bus_ing.get_list_ingresos_x_conciliar(IdEmpresa, model.Fecha_fin, model.IdCaja);
            list_ing.set_list(model.lst_det_ing, model.IdTransaccionSession);

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

            cargar_combos(IdEmpresa);
            return(View(model));
        }
예제 #13
0
        public ActionResult EditingAddNewFactura(string IDs = "", decimal IdTransaccionFixed = 0, int IdCaja = 0, int IdEmpresa = 0)
        {
            if (IDs != "")
            {
                var      caja         = bus_caja.get_info(IdEmpresa, IdCaja);
                var      lst_x_cruzar = bus_det.get_list_x_pagar(IdEmpresa, caja.IdSucursal);
                string[] array        = IDs.Split(',');
                foreach (var item in array)
                {
                    var info_det = lst_x_cruzar.Where(q => q.IdCbteCble_Ogiro == Convert.ToInt32(item)).FirstOrDefault();
                    if (info_det != null)
                    {
                        list_det.AddRow(info_det, IdTransaccionFixed);
                    }
                }
            }
            cp_conciliacion_Caja_Info model = new cp_conciliacion_Caja_Info();

            model.lst_det_fact = list_det.get_list(IdTransaccionFixed);
            return(PartialView("_GridViewPartial_conciliacion_facturas", model));
        }
예제 #14
0
        private bool validar(cp_conciliacion_Caja_Info i_validar, ref string msg)
        {
            i_validar.lst_det_ct = list_ct.get_list(i_validar.IdTransaccionSession);

            i_validar.lst_det_ing  = list_ing.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_vale = list_vale.get_list(i_validar.IdTransaccionSession);
            i_validar.lst_det_fact = list_det.get_list(i_validar.IdTransaccionSession);

            var ingresos = i_validar.lst_det_ing.Sum(q => q.valor_disponible);
            var egresos  = Convert.ToDouble(i_validar.lst_det_fact.Count == 0 ? 0 : i_validar.lst_det_fact.Sum(q => q.Valor_a_aplicar)) + Convert.ToDouble(i_validar.lst_det_vale.Count == 0 ? 0 : i_validar.lst_det_vale.Sum(q => q.valor));

            i_validar.Ingresos             = Math.Round(ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_Ing            = Math.Round(Math.Abs(i_validar.Saldo_cont_al_periodo) - ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_fondo          = Math.Round(ingresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Total_fact_vale      = Math.Round(egresos, 2, MidpointRounding.AwayFromZero);
            i_validar.Dif_x_pagar_o_cobrar = Math.Round(ingresos - egresos, 2, MidpointRounding.AwayFromZero);

            if (i_validar.IdEstadoCierre == cl_enumeradores.eEstadoCierreCaja.EST_CIE_CER.ToString())
            {
                if (i_validar.IdEntidad == 0)
                {
                    msg = "Seleccione el beneficiario";
                    return(false);
                }
                if (i_validar.lst_det_ct.Count == 0)
                {
                    msg = "Debe ingresar registros en el detalle del diario";
                    return(false);
                }
                if (i_validar.lst_det_ct.Sum(q => q.dc_Valor) != 0)
                {
                    msg = "La suma del detalle del diario debe ser 0";
                    return(false);
                }

                if (i_validar.lst_det_ct.Where(q => q.dc_Valor == 0).Count() > 0)
                {
                    msg = "Existen detalles con valor 0 en el debe o haber";
                    return(false);
                }
                var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipoPersona, (decimal)i_validar.IdEntidad);
                if (persona == null)
                {
                    msg = "La persona seleccionada no corresponde al tipo asignado";
                    return(false);
                }
                i_validar.IdPersona = persona.IdPersona;

                foreach (var item in i_validar.lst_det_fact)
                {
                    item.IdCtaCble_cxp = bus_plancta.get_CtaCble_acreedora(item.IdEmpresa_OGiro, item.IdTipoCbte_Ogiro, item.IdCbteCble_Ogiro);
                    if (string.IsNullOrEmpty(item.IdCtaCble_cxp))
                    {
                        msg = "La cuenta contable de la " + item.Tipo_documento + "# " + item.co_factura + "No se encuentra registrada para el proveedor";
                        return(false);
                    }
                }
            }

            return(true);
        }