コード例 #1
0
        public bool modificarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                var caja             = odata_caja.get_info(info.IdEmpresa, info.IdCaja);
                var info_ct_cbtecble = odata_ct.armar_info(info.lst_ct_cbtecble_det, info.IdEmpresa, caja.IdSucursal, info.IdTipocbte, info.IdCbteCble, info.cm_observacion, info.cm_fecha);
                info_ct_cbtecble.IdUsuarioUltModi = info.IdUsuarioUltMod;

                if (odata_ct.modificarDB(info_ct_cbtecble))
                {
                    if (odata.modificarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            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 = "caj_Caja_Movimiento_Bus", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
コード例 #2
0
        public Boolean AnularDB(caj_Caja_Movimiento_Info info, ref string MensajeError)
        {
            try
            {
                using (EntitiesCaja context = new EntitiesCaja())
                {
                    var contact = context.caj_Caja_Movimiento.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdCbteCble == info.IdCbteCble && minfo.IdTipocbte == info.IdTipocbte);

                    if (contact != null)
                    {
                        contact.Estado          = "I";
                        contact.FechaAnulacion  = info.FechaAnulacion;
                        contact.IdUsuario_Anu   = info.IdUsuario_Anu;
                        contact.MotivoAnulacion = info.MotivoAnulacion;
                        contact.IdCbteCble_Anu  = info.IdCbteCble_Anu;
                        contact.IdTipocbte_Anu  = info.IdTipocbte_Anu;
                        contact.cm_observacion  = "***REVERSADO***" + info.cm_observacion;
                        context.SaveChanges();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                MensajeError = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
コード例 #3
0
 public ActionResult Anular(int IdEmpresa = 0, int IdTipocbte = 0, decimal IdCbteCble = 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
     caj_Caja_Movimiento_Info model = bus_caja_mov.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
     if (model == null)
     {
         return(RedirectToAction("Index"));
     }
     SessionFixed.TipoPersona           = model.IdTipo_Persona;
     model.info_caj_Caja_Movimiento_det = bus_caja_mov_det.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
     if (model.info_caj_Caja_Movimiento_det == null)
     {
         return(RedirectToAction("Index"));
     }
     model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
     model.lst_ct_cbtecble_det  = bus_comprobante_detalle.get_list(IdEmpresa, IdTipocbte, IdCbteCble);
     list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession);
     cargar_combos(IdEmpresa);
     return(View(model));
 }
コード例 #4
0
        public bool guardarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                var caja = odata_caja.get_info(info.IdEmpresa, info.IdCaja);
                //Como necesito que exista un diario para que el movimiento herede sus PK, armo un diario en base a lo que ingresen en la pantalla
                info.info_ct_cbtecble           = odata_ct.armar_info(info.lst_ct_cbtecble_det, info.IdEmpresa, caja.IdSucursal, info.IdTipocbte, info.IdCbteCble, info.cm_observacion, info.cm_fecha);
                info.info_ct_cbtecble.IdUsuario = info.IdUsuario;

                //Guardo el diario
                if (odata_ct.guardarDB(info.info_ct_cbtecble))
                {//Si el diario se guarda exitosamente entonces paso los PK al movimiento de caja
                    info.IdCbteCble = info.info_ct_cbtecble.IdCbteCble;
                    //Guardo el movimiento de caja
                    if (odata.guardarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
        public ActionResult Nuevo(caj_Caja_Movimiento_Info model)
        {
            #region Validaciones
            model.lst_ct_cbtecble_det = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);
            if (!validar(model, ref mensaje))
            {
                cargar_combos(model.IdEmpresa);
                ViewBag.mensaje = mensaje;
                return(View(model));
            }
            model.IdUsuario = Session["IdUsuario"].ToString();
            caj_parametro_Info i_parametro = bus_caj_param.get_info(model.IdEmpresa);
            if (i_parametro == null)
            {
                cargar_combos(model.IdEmpresa);
                ViewBag.mensaje = "Debe ingresar los parámetros para usar el módulo";
                return(View(model));
            }
            model.IdTipocbte = i_parametro.IdTipoCbteCble_MoviCaja_Ing;
            model.cm_Signo   = "+";
            #endregion

            #region guardar
            if (!bus_caja_mov.guardarDB(model))
            {
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }
            #endregion

            return(RedirectToAction("Index"));
        }
コード例 #6
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
     caj_Caja_Movimiento_Info model = new caj_Caja_Movimiento_Info
     {
         IdEmpresa      = IdEmpresa,
         IdTipo_Persona = "PERSONA",
         info_caj_Caja_Movimiento_det = new caj_Caja_Movimiento_det_Info
         {
             IdCobro_tipo = "EFEC"
         },
         IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual),
         cm_fecha             = DateTime.Now,
         IdCaja = string.IsNullOrEmpty(SessionFixed.IdCaja) ? 0 : Convert.ToInt32(SessionFixed.IdCaja)
     };
     model.lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>();
     list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession);
     cargar_combos_detalle();
     cargar_combos(IdEmpresa);
     return(View(model));
 }
コード例 #7
0
        public ActionResult Nuevo(caj_Caja_Movimiento_Info model)
        {
            #region Validaciones
            model.lst_ct_cbtecble_det = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);
            if (!validar(model, ref mensaje))
            {
                cargar_combos(model.IdEmpresa);
                ViewBag.mensaje = mensaje;
                return(View(model));
            }
            model.IdUsuario = SessionFixed.IdUsuario;
            caj_parametro_Info i_parametro = bus_caj_param.get_info(model.IdEmpresa);
            if (i_parametro == null)
            {
                cargar_combos(model.IdEmpresa);
                ViewBag.mensaje = "Debe ingresar los parámetros para usar el módulo";
                return(View(model));
            }
            model.IdTipocbte = i_parametro.IdTipoCbteCble_MoviCaja_Egr;
            model.cm_Signo   = "-";
            #endregion

            #region guardar
            if (!bus_caja_mov.guardarDB(model))
            {
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }
            #endregion

            return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdTipocbte = model.IdTipocbte, IdCbteCble = model.IdCbteCble, Exito = true }));
        }
コード例 #8
0
        public bool guardarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                var caja = odata_caja.get_info(info.IdEmpresa, info.IdCaja);
                //Como necesito que exista un diario para que el movimiento herede sus PK, armo un diario en base a lo que ingresen en la pantalla
                info.info_ct_cbtecble           = odata_ct.armar_info(info.lst_ct_cbtecble_det, info.IdEmpresa, caja.IdSucursal, info.IdTipocbte, info.IdCbteCble, info.cm_observacion, info.cm_fecha);
                info.info_ct_cbtecble.IdUsuario = info.IdUsuario;

                //Guardo el diario
                if (odata_ct.guardarDB(info.info_ct_cbtecble))
                {//Si el diario se guarda exitosamente entonces paso los PK al movimiento de caja
                    info.IdCbteCble = info.info_ct_cbtecble.IdCbteCble;
                    //Guardo el movimiento de caja
                    if (odata.guardarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            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 = "caj_Caja_Movimiento_Bus", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
コード例 #9
0
        public bool anularDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = Context.caj_Caja_Movimiento.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Estado = info.Estado = "I";

                    Entity.IdUsuario_Anu  = info.IdUsuario_Anu;
                    Entity.FechaAnulacion = DateTime.Now;
                    Context.SaveChanges();

                    Context.Database.ExecuteSqlCommand("DELETE cp_conciliacion_Caja_det_x_ValeCaja WHERE IdEmpresa_movcaja = " + info.IdEmpresa + " AND IdTipocbte_movcaja = " + info.IdTipocbte + " AND IdCbteCble_movcaja = " + info.IdCbteCble);
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #10
0
        public Boolean ModificarDB(caj_Caja_Movimiento_Info info, ref string MensajeError)
        {
            try
            {
                using (EntitiesCaja context = new EntitiesCaja())
                {
                    var contact = context.caj_Caja_Movimiento.FirstOrDefault(minfo => minfo.IdEmpresa == info.IdEmpresa && minfo.IdCbteCble == info.IdCbteCble && minfo.IdTipocbte == info.IdTipocbte);

                    if (contact != null)
                    {
                        contact.cm_valor          = info.cm_valor;
                        contact.cm_observacion    = info.cm_observacion;
                        contact.cm_fecha          = info.cm_fecha;
                        contact.Estado            = info.Estado;
                        contact.IdUsuario_Aprueba = info.IdUsuario_Aprueba;
                        contact.Fecha_UltMod      = info.Fecha_UltMod;
                        contact.IdUsuarioUltMod   = info.IdUsuarioUltMod;
                        contact.IdTipoFlujo       = info.IdTipoFlujo;
                        contact.IdTipoMovi        = Convert.ToInt32(info.IdTipoMovi);
                        context.SaveChanges();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                MensajeError = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
コード例 #11
0
 private void PrepararForm_CajaMant(Cl_Enumeradores.eTipo_action Accion, caj_Caja_Movimiento_Info cajInfo)
 {
     try
     {
         formaCajaMan = new FrmCa_Caja_Movimiento_Ingreso();
         formaCajaMan.event_FrmCa_Caja_Movimiento_FormClosing += new FrmCa_Caja_Movimiento_Ingreso.delegate_FrmCa_Caja_Movimiento_FormClosing(formaCajaMan_event_FrmCa_Caja_Movimiento_FormClosing);
         formaCajaMan.set_accion(Accion);
         formaCajaMan.MdiParent = this.MdiParent;
         if (!(Accion == Cl_Enumeradores.eTipo_action.grabar))
         {
             // formaCajaMan.set_CajaMovi(cajInfo);
             formaCajaMan.Info_CajMovi = cajInfo;
         }
         else
         {
             formaCajaMan.get_cajaMovi();
         }
         formaCajaMan.Show();
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #12
0
        public ActionResult Modificar(int IdEmpresa = 0, int IdTipocbte = 0, decimal IdCbteCble = 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
            caj_Caja_Movimiento_Info model = bus_caja_mov.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            SessionFixed.TipoPersona           = model.IdTipo_Persona;
            model.info_caj_Caja_Movimiento_det = bus_caja_mov_det.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
            if (model.info_caj_Caja_Movimiento_det == null)
            {
                return(RedirectToAction("Index"));
            }
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_ct_cbtecble_det  = bus_comprobante_detalle.get_list(IdEmpresa, IdTipocbte, IdCbteCble);
            list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession);

            model.lst_det_canc_op = bus_cancelaciones.get_list_x_pago(model.IdEmpresa, model.IdTipocbte, model.IdCbteCble, SessionFixed.IdUsuario);
            List_op.set_list(model.lst_det_canc_op, model.IdTransaccionSession);

            SessionFixed.TipoPersona = model.IdTipo_Persona;

            if (!bus_caja_mov.ValidarMovimientoModificar(IdEmpresa, IdTipocbte, IdCbteCble, "-"))
            {
                ViewBag.mensaje          = "El movimiento de caja no puede ser modificado";
                ViewBag.NoMostrarBotones = true;
            }
            else
            {
                ViewBag.NoMostrarBotones = false;
            }

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

            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.cm_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 Anular(caj_Caja_Movimiento_Info model)
 {
     model.IdUsuario_Anu = SessionFixed.IdUsuario;
     if (!bus_caja_mov.anularDB(model))
     {
         cargar_combos(model.IdEmpresa);
         return(View(model));
     }
     return(RedirectToAction("Index"));
 }
コード例 #14
0
        public ActionResult Anular(int IdEmpresa = 0, int IdTipocbte = 0, decimal IdCbteCble = 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, "Caja", "CajaMovimientoIngreso", "Index");
            if (!info.Anular)
            {
                return(RedirectToAction("Index"));
            }
            #endregion

            caj_Caja_Movimiento_Info model = bus_caja_mov.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            SessionFixed.TipoPersona           = model.IdTipo_Persona;
            model.info_caj_Caja_Movimiento_det = bus_caja_mov_det.get_info(IdEmpresa, IdTipocbte, IdCbteCble);
            if (model.info_caj_Caja_Movimiento_det == null)
            {
                return(RedirectToAction("Index"));
            }
            model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            model.lst_ct_cbtecble_det  = bus_comprobante_detalle.get_list(IdEmpresa, IdTipocbte, IdCbteCble);
            list_ct_cbtecble_det.set_list(model.lst_ct_cbtecble_det, model.IdTransaccionSession);
            cargar_combos(IdEmpresa);

            if (!bus_caja_mov.ValidarMovimientoModificar(IdEmpresa, IdTipocbte, IdCbteCble, "+"))
            {
                ViewBag.mensaje          = "El movimiento de caja no puede ser anulado";
                ViewBag.NoMostrarBotones = true;
            }
            else
            {
                ViewBag.NoMostrarBotones = false;
            }

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

            return(View(model));
        }
コード例 #15
0
 private void UltraGrid_MoviCaja_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
 {
     try
     {
         cajaMovi_I = GetSelectedRow((DevExpress.XtraGrid.Views.Grid.GridView)sender);
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #16
0
 public Boolean AnularDB(caj_Caja_Movimiento_Info info, ref string MensajeError)
 {
     try
     {
         return(data.AnularDB(info, ref MensajeError));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "AnularDB", ex.Message), ex)
               {
                   EntityType = typeof(caj_Caja_Movimiento_Bus)
               };
     }
 }
コード例 #17
0
        public bool guardarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = new caj_Caja_Movimiento
                    {
                        IdEmpresa      = info.IdEmpresa,
                        IdCaja         = info.IdCaja,
                        IdTipocbte     = info.IdTipocbte,
                        IdCbteCble     = info.IdCbteCble,
                        IdEntidad      = info.IdEntidad,
                        IdPeriodo      = info.IdPeriodo = Convert.ToInt32(info.cm_fecha.ToString("yyyyMM")),
                        IdPersona      = info.IdPersona,
                        IdTipoFlujo    = info.IdTipoFlujo,
                        IdTipoMovi     = info.IdTipoMovi,
                        IdTipo_Persona = info.IdTipo_Persona,
                        cm_fecha       = info.cm_fecha.Date,
                        cm_observacion = info.cm_observacion,
                        cm_Signo       = info.cm_Signo,
                        cm_valor       = info.cm_valor,
                        CodMoviCaja    = info.CodMoviCaja,
                        Estado         = info.Estado = "A",

                        IdUsuario     = info.IdUsuario,
                        Fecha_Transac = DateTime.Now
                    };
                    caj_Caja_Movimiento_det Entity_det = new caj_Caja_Movimiento_det
                    {
                        IdEmpresa    = info.IdEmpresa,
                        IdTipocbte   = info.IdTipocbte,
                        IdCbteCble   = info.IdCbteCble,
                        cr_Valor     = info.info_caj_Caja_Movimiento_det.cr_Valor,
                        IdCobro_tipo = info.info_caj_Caja_Movimiento_det.IdCobro_tipo,
                        Secuencia    = 1
                    };
                    Context.caj_Caja_Movimiento.Add(Entity);
                    Context.caj_Caja_Movimiento_det.Add(Entity_det);
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #18
0
        private bool validar(caj_Caja_Movimiento_Info i_validar, ref string msg)
        {
            if (i_validar.lst_ct_cbtecble_det.Count == 0)
            {
                mensaje = "Debe ingresar registros en el detalle, por favor verifique";
                return(false);
            }

            foreach (var item in i_validar.lst_ct_cbtecble_det)
            {
                if (string.IsNullOrEmpty(item.IdCtaCble))
                {
                    mensaje = "Faltan cuentas contables, por favor verifique";
                    return(false);
                }
            }

            if (Math.Round(i_validar.lst_ct_cbtecble_det.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
            {
                mensaje = "La suma de los detalles debe ser 0, por favor verifique";
                return(false);
            }
            if (i_validar.lst_ct_cbtecble_det.Where(q => q.dc_Valor == 0).Count() > 0)
            {
                mensaje = "Existen detalles con valor 0 en el debe o haber, por favor verifique";
                return(false);
            }

            var persona = bus_persona.get_info(i_validar.IdEmpresa, i_validar.IdTipo_Persona, i_validar.IdEntidad);

            if (persona == null)
            {
                msg = "La persona seleccionada no corresponde al tipo asignado";
                return(false);
            }
            i_validar.IdPersona = persona.IdPersona;

            if (Math.Round(i_validar.info_caj_Caja_Movimiento_det.cr_Valor, 2, MidpointRounding.AwayFromZero) != Math.Round(i_validar.lst_ct_cbtecble_det.Sum(q => q.dc_Valor_debe), 2, MidpointRounding.AwayFromZero))
            {
                msg = "Los valores ingresados no concuerdan con el valor del diario";
                return(false);
            }

            i_validar.cm_valor = i_validar.info_caj_Caja_Movimiento_det.cr_Valor;

            return(true);
        }
コード例 #19
0
 public ActionResult Modificar(caj_Caja_Movimiento_Info model)
 {
     model.lst_ct_cbtecble_det = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);
     if (!validar(model, ref mensaje))
     {
         cargar_combos(model.IdEmpresa);
         ViewBag.mensaje = mensaje;
         return(View(model));
     }
     model.IdUsuarioUltMod = Session["IdUsuario"].ToString();
     if (!bus_caja_mov.modificarDB(model))
     {
         cargar_combos(model.IdEmpresa);
         return(View(model));
     }
     return(RedirectToAction("Index"));
 }
コード例 #20
0
        public ActionResult Modificar(caj_Caja_Movimiento_Info model)
        {
            model.lst_ct_cbtecble_det = list_ct_cbtecble_det.get_list(model.IdTransaccionSession);
            if (!validar(model, ref mensaje))
            {
                cargar_combos(model.IdEmpresa);
                ViewBag.mensaje = mensaje;
                return(View(model));
            }
            model.IdUsuarioUltMod = SessionFixed.IdUsuario;
            if (!bus_caja_mov.modificarDB(model))
            {
                cargar_combos(model.IdEmpresa);
                return(View(model));
            }

            return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdTipocbte = model.IdTipocbte, IdCbteCble = model.IdCbteCble, Exito = true }));
        }
コード例 #21
0
        public bool modificarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = Context.caj_Caja_Movimiento.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.cm_fecha       = info.cm_fecha.Date;
                    Entity.IdPeriodo      = info.IdPeriodo = Convert.ToInt32(info.cm_fecha.ToString("yyyyMM"));
                    Entity.cm_observacion = info.cm_observacion;
                    Entity.CodMoviCaja    = info.CodMoviCaja;
                    Entity.cm_valor       = info.cm_valor;
                    Entity.IdPersona      = info.IdPersona;
                    Entity.IdTipo_Persona = info.IdTipo_Persona;
                    Entity.IdEntidad      = info.IdEntidad;
                    Entity.IdCaja         = info.IdCaja;

                    caj_Caja_Movimiento_det Entity_det = Context.caj_Caja_Movimiento_det.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity_det == null)
                    {
                        return(false);
                    }

                    Entity_det.IdCobro_tipo = info.info_caj_Caja_Movimiento_det.IdCobro_tipo;
                    Entity_det.cr_Valor     = info.info_caj_Caja_Movimiento_det.cr_Valor;


                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #22
0
        public bool modificarDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                var info_ct_cbtecble = odata_ct.armar_info(info.lst_ct_cbtecble_det, info.IdEmpresa, info.IdTipocbte, info.IdCbteCble, info.cm_observacion, info.cm_fecha);

                if (odata_ct.modificarDB(info_ct_cbtecble))
                {
                    if (odata.modificarDB(info))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #23
0
 public caj_Caja_Movimiento_Info get_info(int IdEmpresa, int IdTipocbte, decimal IdCbteCble)
 {
     try
     {
         caj_Caja_Movimiento_Info info = new caj_Caja_Movimiento_Info();
         using (Entities_caja Context = new Entities_caja())
         {
             caj_Caja_Movimiento Entity = Context.caj_Caja_Movimiento.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdTipocbte == IdTipocbte && q.IdCbteCble == IdCbteCble);
             if (Entity == null)
             {
                 return(null);
             }
             info = new caj_Caja_Movimiento_Info
             {
                 IdEmpresa      = Entity.IdEmpresa,
                 IdCaja         = Entity.IdCaja,
                 IdTipocbte     = Entity.IdTipocbte,
                 IdCbteCble     = Entity.IdCbteCble,
                 IdEntidad      = Entity.IdEntidad,
                 IdPeriodo      = Entity.IdPeriodo,
                 IdPersona      = Entity.IdPersona,
                 IdTipoFlujo    = Entity.IdTipoFlujo,
                 IdTipoMovi     = Entity.IdTipoMovi,
                 IdTipo_Persona = Entity.IdTipo_Persona,
                 cm_fecha       = Entity.cm_fecha,
                 cm_observacion = Entity.cm_observacion,
                 cm_Signo       = Entity.cm_Signo,
                 cm_valor       = Entity.cm_valor,
                 CodMoviCaja    = Entity.CodMoviCaja,
                 Estado         = Entity.Estado
             };
         }
         return(info);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #24
0
        public bool anularDB(caj_Caja_Movimiento_Info info)
        {
            try
            {
                using (Entities_contabilidad db = new Entities_contabilidad())
                {
                    ct_cbtecble ct = new ct_cbtecble();

                    db.SaveChanges();
                }
                using (Entities_caja Context = new Entities_caja())
                {
                    caj_Caja_Movimiento Entity = Context.caj_Caja_Movimiento.FirstOrDefault(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble);
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Estado = info.Estado = "I";

                    Entity.IdUsuario_Anu  = info.IdUsuario_Anu;
                    Entity.FechaAnulacion = DateTime.Now;
                    Context.SaveChanges();
                    Context.Database.ExecuteSqlCommand("DELETE cp_conciliacion_Caja_det_x_ValeCaja WHERE IdEmpresa_movcaja = " + info.IdEmpresa + " AND IdTipocbte_movcaja = " + info.IdTipocbte + " AND IdCbteCble_movcaja = " + info.IdCbteCble);
                }
                using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                {
                    var lst = db.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList();
                    db.cp_orden_pago_cancelaciones.RemoveRange(lst);
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #25
0
 public bool anularDB(caj_Caja_Movimiento_Info info)
 {
     try
     {
         var info_ct_cbtecble = odata_ct.get_info(info.IdEmpresa, info.IdTipocbte, info.IdCbteCble);
         if (info_ct_cbtecble != null)
         {
             if (odata_ct.anularDB(info_ct_cbtecble))
             {
                 return(odata.anularDB(info));
             }
         }
         else
         {
             return(odata.anularDB(info));
         }
         return(false);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #26
0
        public Boolean GrabarDB(caj_Caja_Movimiento_Info info, ref string MensajeError)
        {
            try
            {
                using (EntitiesCaja context = new EntitiesCaja())
                {
                    EntitiesCaja EDB = new EntitiesCaja();

                    caj_Caja_Movimiento address = new caj_Caja_Movimiento();

                    address.IdEmpresa  = info.IdEmpresa;
                    address.IdCbteCble = info.IdCbteCble;
                    address.IdTipocbte = info.IdTipocbte;
                    address.cm_Signo   = info.cm_Signo;
                    if (info.cm_beneficiario == null)
                    {
                        address.cm_beneficiario = ".";
                    }
                    else
                    {
                        address.cm_beneficiario = info.cm_beneficiario;
                    }
                    address.cm_valor   = info.cm_valor;
                    address.IdTipoMovi = (int)info.IdTipoMovi;
                    if (info.cm_observacion == null)
                    {
                        address.cm_observacion = ".";
                    }
                    else
                    {
                        address.cm_observacion = info.cm_observacion;
                    }

                    address.IdCaja            = info.IdCaja;
                    address.IdPeriodo         = info.IdPeriodo;
                    address.cm_fecha          = info.cm_fecha.Date;
                    address.IdUsuario         = info.IdUsuario;
                    address.Fecha_Transac     = info.Fecha_Transac.Date;
                    address.Estado            = "A";
                    address.IdUsuario_Aprueba = info.IdUsuario_Aprueba;
                    address.CodMoviCaja       = info.CodMoviCaja;
                    address.IdSucursal        = info.IdSucursal;
                    address.IdUsuario_Anu     = info.IdUsuario_Anu;
                    address.FechaAnulacion    = info.FechaAnulacion;
                    address.Fecha_UltMod      = info.Fecha_UltMod;
                    address.IdUsuarioUltMod   = info.IdUsuarioUltMod;
                    address.MotivoAnulacion   = info.MotivoAnulacion;
                    address.IdCbteCble_Anu    = info.IdCbteCble_Anu;
                    address.IdTipocbte_Anu    = info.IdTipocbte_Anu;
                    address.IdTipoFlujo       = info.IdTipoFlujo;
                    address.IdEntidad         = info.IdEntidad;
                    address.IdTipo_Persona    = info.IdTipo_Persona;
                    address.IdPersona         = info.IdPersona;
                    //contact = address;
                    //opin 2017/03/23
                    address.IdPuntoVta = info.IdPuntoVta;
                    address.IdRecibo   = info.IdRecibo;

                    context.caj_Caja_Movimiento.Add(address);
                    context.SaveChanges();
                    //grabar detalle caja movi
                    if (info.list_Caja_Movi_det.Count != 0)
                    {
                        foreach (var item in info.list_Caja_Movi_det)
                        {
                            item.IdTipocbte = info.IdTipocbte;
                            item.IdCbteCble = info.IdCbteCble;
                        }

                        caj_Caja_Movimiento_det_Data odata = new caj_Caja_Movimiento_det_Data();
                        if (!odata.GrabarDB(info.list_Caja_Movi_det, ref MensajeError))
                        {
                            return(false);
                        }
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                MensajeError = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
コード例 #27
0
        public caj_Caja_Movimiento_Info Get_Info_MovimientoCaja(int IdEmpresa, decimal IdCbteCble, int IdTipoCbte, ref string MensajeError)
        {
            caj_Caja_Movimiento_Info lM = new caj_Caja_Movimiento_Info();
            EntitiesCaja             db = new EntitiesCaja();

            try
            {
                var select_ = from T in db.vwcaj_caj_Caja_Movimiento
                              where T.IdEmpresa == IdEmpresa && T.IdCbteCble == IdCbteCble && T.IdTipocbte == IdTipoCbte
                              select T;

                foreach (var item in select_)
                {
                    caj_Caja_Movimiento_Info dat = new caj_Caja_Movimiento_Info();
                    dat.IdEmpresa         = item.IdEmpresa;
                    dat.IdCbteCble        = item.IdCbteCble;
                    dat.IdTipocbte        = item.IdTipocbte;
                    dat.cm_Signo          = item.cm_Signo;
                    dat.cm_beneficiario   = item.cm_beneficiario;
                    dat.cm_valor          = item.cm_valor;
                    dat.IdTipoMovi        = item.IdTipoMovi;
                    dat.cm_observacion    = item.cm_observacion;
                    dat.IdCaja            = item.IdCaja;
                    dat.IdPeriodo         = item.IdPeriodo;
                    dat.cm_fecha          = item.cm_fecha;
                    dat.IdUsuario         = item.IdUsuario;
                    dat.IdUsuario_Anu     = item.IdUsuario_Anu;
                    dat.FechaAnulacion    = item.FechaAnulacion;
                    dat.Fecha_Transac     = item.Fecha_Transac;
                    dat.Fecha_UltMod      = item.Fecha_UltMod;
                    dat.IdUsuarioUltMod   = item.IdUsuarioUltMod;
                    dat.Estado            = item.Estado;
                    dat.MotivoAnulacion   = item.MotivoAnulacion;
                    dat.IdUsuario_Aprueba = item.IdUsuario_Aprueba;
                    dat.IngEgr            = (item.cm_Signo == "+") ? "Ingreso" : "Egreso";
                    dat.NCaja             = item.ca_Descripcion;
                    dat.NTipoMovi         = item.NTipoMov;
                    dat.IdCbteCble_Anu    = item.IdCbteCble_Anu;
                    dat.IdTipocbte_Anu    = item.IdTipocbte_Anu;
                    dat.CodMoviCaja       = item.CodMoviCaja;
                    dat.ResponsableCaja   = item.ResponsableCaja;
                    dat.IdSucursal        = item.IdSucursal;
                    dat.NSucursal         = item.Su_Descripcion;

                    dat.IdTipo_Persona = item.IdTipo_Persona;
                    dat.IdEntidad      = item.IdEntidad;

                    if (item.IdTipoFlujo != null)
                    {
                        dat.IdTipoFlujo = Convert.ToDecimal(item.IdTipoFlujo);
                    }

                    lM = dat;
                }
                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                MensajeError = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
コード例 #28
0
        public Boolean GrabarDB(ref caj_Caja_Movimiento_Info info, ref string MensajeError)
        {
            try
            {
                Boolean res = true;
                // grabar diario caja
                ct_Cbtecble_Bus CbteCble_Data = new ct_Cbtecble_Bus();
                decimal         idCbteCble    = 0;

                if (CbteCble_Data.GrabarDB(info.Info_CbteCble_x_Caja_Movi, ref idCbteCble, ref MensajeError))
                {
                    //  GrabarDB caja
                    info.IdCbteCble = idCbteCble;
                    info.IdTipocbte = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte;
                    string IdTipo_Docu = string.Empty;
                    if (info.cm_Signo == "+")
                    {
                        IdTipo_Docu = "RECIB_CAJA";
                    }
                    else
                    {
                        IdTipo_Docu = "VALE_CAJA";
                    }

                    info.IdPeriodo = info.Info_CbteCble_x_Caja_Movi.IdPeriodo;
                    if (data.GrabarDB(info, ref MensajeError))
                    {
                        string mensaje = "";
                        cp_orden_pago_cancelaciones_Bus bus_pagoCance = new cp_orden_pago_cancelaciones_Bus();

                        foreach (var item in info.List_OrdenCan)
                        {
                            if (item.IdOrdenPago_op > 0)
                            {
                                item.IdEmpresa_pago  = info.Info_CbteCble_x_Caja_Movi.IdEmpresa;
                                item.IdCbteCble_pago = idCbteCble;
                                item.IdTipoCbte_pago = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte;
                                bus_pagoCance.GuardarDB(item, info.Info_CbteCble_x_Caja_Movi.IdEmpresa, ref mensaje);
                            }
                            else
                            {
                                //// no hay OP hay q generarla
                                cp_orden_pago_Bus             BusOP            = new cp_orden_pago_Bus();
                                cp_orden_pago_Info            InfoOP           = new cp_orden_pago_Info();
                                cp_orden_pago_det_Info        Info_det_OP      = new cp_orden_pago_det_Info();
                                List <cp_orden_pago_det_Info> List_Info_det_OP = new List <cp_orden_pago_det_Info>();
                                decimal IdOP = 0;

                                InfoOP.IdEmpresa          = info.Info_CbteCble_x_Caja_Movi.IdEmpresa;
                                InfoOP.IdEntidad          = Convert.ToDecimal(item.IdEntidad);
                                InfoOP.IdEstadoAprobacion = "APRO";
                                InfoOP.IdFormaPago        = "EFEC";
                                InfoOP.IdTipo_Persona     = item.IdTipo_Persona;
                                InfoOP.IdOrdenPago        = 0;
                                InfoOP.IdPersona          = item.IdPersona;
                                InfoOP.IdTipo_op          = item.IdTipo_op;
                                InfoOP.Observacion        = "O/P x Generada por Cruze con EG/Cja..";
                                InfoOP.Saldo           = 0;
                                InfoOP.Total_cancelado = Convert.ToDecimal(item.MontoAplicado);
                                InfoOP.Total_OP        = Convert.ToDecimal(item.MontoAplicado);

                                /////////////

                                Info_det_OP.IdEmpresa   = InfoOP.IdEmpresa;
                                Info_det_OP.IdOrdenPago = 0;
                                Info_det_OP.Secuencia   = 1;

                                Info_det_OP.IdEmpresa_cxp  = item.IdEmpresa_cxp;
                                Info_det_OP.IdTipoCbte_cxp = item.IdTipoCbte_cxp;
                                Info_det_OP.IdCbteCble_cxp = item.IdCbteCble_cxp;

                                Info_det_OP.Valor_a_pagar = item.MontoAplicado;
                                Info_det_OP.Referencia    = "";

                                Info_det_OP.IdFormaPago        = "EFEC";
                                Info_det_OP.Fecha_Pago         = DateTime.Now;
                                Info_det_OP.IdEstadoAprobacion = "APRO";

                                Info_det_OP.Idbanco = 1;

                                Info_det_OP.IdUsuario_Aproba  = "";
                                Info_det_OP.fecha_hora_Aproba = DateTime.Now;
                                Info_det_OP.Motivo_aproba     = "x conciliacion con NC cxp";

                                List_Info_det_OP.Add(Info_det_OP);
                                InfoOP.Detalle = List_Info_det_OP;

                                BusOP.GuardaDB(InfoOP, ref IdOP, ref mensaje);



                                item.IdEmpresa_pago  = info.Info_CbteCble_x_Caja_Movi.IdEmpresa;
                                item.IdCbteCble_pago = info.Info_CbteCble_x_Caja_Movi.IdCbteCble;
                                item.IdTipoCbte_pago = info.Info_CbteCble_x_Caja_Movi.IdTipoCbte;
                                item.IdEmpresa_op    = InfoOP.IdEmpresa;
                                item.IdOrdenPago_op  = IdOP;
                                item.Secuencia_op    = Info_det_OP.Secuencia;
                                item.Observacion     = "Cruze /Egr Caja";
                                bus_pagoCance.GuardarDB(item, info.Info_CbteCble_x_Caja_Movi.IdEmpresa, ref mensaje);

                                //info.DetalleMovCaja

                                caj_Caja_Movimiento_det_Bus BusDetCaja = new caj_Caja_Movimiento_det_Bus();
                                BusDetCaja.ModificarDB_IdOP_x_Det(info.Info_CbteCble_x_Caja_Movi.IdEmpresa, info.Info_CbteCble_x_Caja_Movi.IdCbteCble, info.Info_CbteCble_x_Caja_Movi.IdTipoCbte, item.Secuencia, InfoOP.IdEmpresa, IdOP, ref mensaje);
                            }
                        }
                    }
                    else
                    {
                        res = false;
                    }
                }
                else
                {
                    res = false;
                }
                return(res);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GrabarDB", ex.Message), ex)
                      {
                          EntityType = typeof(caj_Caja_Movimiento_Bus)
                      };
            }
        }
コード例 #29
0
        private Boolean Validar_y_corregir_objeto(ref caj_Caja_Movimiento_Info Caja_Movi_Info, ref string msg)
        {
            try
            {
                #region 'Validaciones'
                /*--- validaciones */



                if (Caja_Movi_Info.IdCaja <= 0)
                {
                    msg = "Erro en la cabecera de id caja es <=0";
                    return(false);
                }



                if (Caja_Movi_Info.list_Caja_Movi_det.Count == 0)
                {
                    msg = "la factura no tiene detalle ";
                    return(false);
                }


                foreach (var item in Caja_Movi_Info.list_Caja_Movi_det)
                {
                    if (item.cr_Valor == 0)
                    {
                        msg = "el valor id:" + item.IdCobro_tipo + " tiene cantidad cero ";
                    }
                }

                /*--- Fin validaciones */


                /*--- corrigiendo data */

                Caja_Movi_Info.Estado = (string.IsNullOrEmpty(Caja_Movi_Info.Estado) == true) ? "A" : Caja_Movi_Info.Estado;

                if (Caja_Movi_Info.IdTipo_Persona == "" || Caja_Movi_Info.IdTipo_Persona == null)
                {
                    tb_persona_tipo_Bus  BusTipoPersona  = new tb_persona_tipo_Bus();
                    tb_persona_tipo_Info InfoTipoPersona = new tb_persona_tipo_Info();
                    InfoTipoPersona = BusTipoPersona.Get_List_persona_tipo().FirstOrDefault();
                    Caja_Movi_Info.IdTipo_Persona = InfoTipoPersona.IdTipo_Persona;
                }


                if (Caja_Movi_Info.IdPersona <= 0)
                {
                    tb_persona_bus  BusPersona  = new tb_persona_bus();
                    tb_persona_Info InfoPersona = new tb_persona_Info();
                    InfoPersona = BusPersona.Get_Info_Persona(1);
                    Caja_Movi_Info.IdPersona = InfoPersona.IdPersona;
                }



                /*--- corrigiendo data */

                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validar_y_corregir_objeto", ex.Message), ex)
                      {
                          EntityType = typeof(caj_Caja_Movimiento_Bus)
                      };
            }
        }
コード例 #30
0
        public List <caj_Caja_Movimiento_Info> Get_list_Egreso(int IdEmpresa, DateTime FechaIni, DateTime FechaFin, ref string MensajeError)
        {
            List <caj_Caja_Movimiento_Info> lM = new List <caj_Caja_Movimiento_Info>();

            try
            {
                EntitiesCaja db = new EntitiesCaja();

                var select_ = from T in db.vwcaj_caj_Caja_Movimiento
                              where T.IdEmpresa == IdEmpresa &&
                              T.cm_Signo == "-" &&
                              T.cm_fecha >= FechaIni && T.cm_fecha <= FechaFin
                              select T;


                foreach (var item in select_)
                {
                    caj_Caja_Movimiento_Info dat = new caj_Caja_Movimiento_Info();
                    dat.IdEmpresa         = item.IdEmpresa;
                    dat.IdCbteCble        = item.IdCbteCble;
                    dat.IdTipocbte        = item.IdTipocbte;
                    dat.cm_Signo          = item.cm_Signo;
                    dat.cm_beneficiario   = item.cm_beneficiario;
                    dat.cm_valor          = item.cm_valor;
                    dat.IdTipoMovi        = item.IdTipoMovi;
                    dat.cm_observacion    = item.cm_observacion;
                    dat.IdCaja            = item.IdCaja;
                    dat.IdPeriodo         = item.IdPeriodo;
                    dat.cm_fecha          = item.cm_fecha;
                    dat.IdUsuario         = item.IdUsuario;
                    dat.IdUsuario_Anu     = item.IdUsuario_Anu;
                    dat.FechaAnulacion    = item.FechaAnulacion;
                    dat.Fecha_Transac     = item.Fecha_Transac;
                    dat.Fecha_UltMod      = item.Fecha_UltMod;
                    dat.IdUsuarioUltMod   = item.IdUsuarioUltMod;
                    dat.Estado            = item.Estado;
                    dat.MotivoAnulacion   = item.MotivoAnulacion;
                    dat.IdUsuario_Aprueba = item.IdUsuario_Aprueba;
                    dat.IngEgr            = (item.cm_Signo == "+") ? "Ingreso" : "Egreso";
                    dat.NCaja             = item.ca_Descripcion;
                    dat.NTipoMovi         = item.NTipoMov;
                    dat.IdCbteCble_Anu    = item.IdCbteCble_Anu;
                    dat.IdTipocbte_Anu    = item.IdTipocbte_Anu;
                    dat.CodMoviCaja       = item.CodMoviCaja;
                    dat.ResponsableCaja   = (item.ResponsableCaja != null) ? item.ResponsableCaja.Trim() : "";
                    dat.IdSucursal        = item.IdSucursal;
                    dat.NSucursal         = item.Su_Descripcion.Trim();
                    dat.Nom_Beneficiario  = item.nom_Beneficiario;

                    dat.IdTipo_Persona = item.IdTipo_Persona;
                    dat.IdEntidad      = item.IdEntidad;
                    dat.IdRecibo       = item.IdRecibo;   //opin 2017/03/24
                    dat.IdPuntoVta     = item.IdPuntoVta; //opin 2017/03/24
                    if (item.IdTipoFlujo != null)
                    {
                        dat.IdTipoFlujo = Convert.ToDecimal(item.IdTipoFlujo);
                    }

                    lM.Add(dat);
                }
                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                MensajeError = ex.InnerException + " " + ex.Message;
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeError);
                throw new Exception(ex.ToString());
            }
        }