public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.HttpContext.User.Identity.IsAuthenticated == false) { filterContext.Result = RetornarSeleccionEmisor(); return; } string VistaAccedida = filterContext.RouteData.Values["action"].ToString(); string UserID = filterContext.HttpContext.User.Identity.GetUserId(); var Session = filterContext.HttpContext.Session; FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); //rescata usuario UsuarioModel objUsuario = db.DBUsuarios.SingleOrDefault(r => r.IdentityID == UserID); if (objUsuario == null) { /*REDIRECT A EL PANEL DE SELECCION DE EMISOR*/ filterContext.Result = RetornarSeleccionEmisor(); return; } //rescata emisor seleccionado QuickEmisorModel objEmisor = ModuloHelper.GetEmisorSeleccionado(Session, UserID); if (objEmisor == null) { filterContext.Result = RetornarSeleccionEmisor(); return; } //ve si el usuario tiene acceso a la vista utilizando este emisor IQueryable <ModulosHabilitados> ModulosHabilitados = db.DBModulosHabilitados.Where(r => r.UsuarioModelID == objUsuario.UsuarioModelID && r.QuickEmisorModelID == objEmisor.QuickEmisorModelID); List <string> lstFuncionesUsuario = ModulosHabilitados.Select(w => w.Funcion.NombreFuncion).ToList(); if (lstFuncionesUsuario.Contains(VistaAccedida)) { List <FuncionesModel> lstFuncionesContabilidad = ModulosHabilitados.Where(r => r.Funcion.NombreFuncion == VistaAccedida).Select(r => r.Funcion).ToList(); //Si es una funcion de contabilidad, revisar si tiene una ClienteEmisorSeleccionado if (lstFuncionesContabilidad.Where(r => r.ModuloSistema != null).Any(r => r.ModuloSistema.ModuloSistemaModelID == ParseExtensions.KeyModuloSistemaContable)) { ClientesContablesModel clienteSeleccionado = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); if (clienteSeleccionado == null) { filterContext.Result = RetornarSeleccionClienteContable(); return; } } return; } else { filterContext.Result = RetornarSeleccionEmisor(); return; } }
public JsonResult ObtenerListadoCartolas() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var ListaCartola = CartolaBancariaMacroModel.GetListaCartola(db, objCliente); StringBuilder optionSelect = new StringBuilder(); bool Result = false; if (ListaCartola.Count() > 0) { optionSelect.Append("<option> Selecciona </option>"); foreach (var itemCartola in ListaCartola) { optionSelect.Append("<option value=\"" + itemCartola.CartolaBancariaMacroModelID + "\">" + "<b>Numero:</b> " + itemCartola.NumeroCartola + " " + "<b>Fecha:</b> " + ParseExtensions.ToDD_MM_AAAA(itemCartola.FechaCartola) + "</option>"); } } else { optionSelect.Append("<option>No existen cartolas importadas</option>"); } return(Json(new { ok = Result, selectInput = optionSelect.ToString() }, JsonRequestBehavior.AllowGet)); }
public static int GetCuentaContableIvaAUsar(ClientesContablesModel objCliente) { FacturaProduccionContext db = new FacturaProduccionContext(); int cuentaContableId = db.DBCuentaContable.SingleOrDefault(x => x.CuentaContableModelID == objCliente.ParametrosCliente.CuentaIvaCompras.CuentaContableModelID && x.ClientesContablesModelID == objCliente.ClientesContablesModelID).CuentaContableModelID; return(cuentaContableId); }
public ActionResult PendientesAuxDetalle(int IdAux) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var PendientesAuxDetalle = (from Detalle in db.DBDetalleVoucher join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID join Auxiliar in db.DBAuxiliares on Detalle.DetalleVoucherModelID equals Auxiliar.DetalleVoucherModelID join AuxiliarDetalle in db.DBAuxiliaresDetalle on Auxiliar.AuxiliaresModelID equals AuxiliarDetalle.AuxiliaresModelID where Voucher.DadoDeBaja == false && Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID && Detalle.ObjCuentaContable.TieneAuxiliar == 1 && Detalle.ConciliadoCtasCtes == false && Auxiliar.AuxiliaresModelID == IdAux select new AuxPendientesDetalle { Id = AuxiliarDetalle.AuxiliaresDetalleModelID, Rut = AuxiliarDetalle.Individuo2.RUT, RazonSocial = AuxiliarDetalle.Individuo2.RazonSocial, Debe = Detalle.MontoDebe > 0 ? AuxiliarDetalle.MontoTotalLinea : 0, Haber = Detalle.MontoHaber > 0 ? AuxiliarDetalle.MontoTotalLinea : 0 }); return(View(PendientesAuxDetalle.ToList())); }
public static byte[] GetExcelLibrosVentaCompra(List <string[]> lstAuxiliares, ClientesContablesModel objCliente, bool InformarMembrete, string titulo) { byte[] ExcelByteArray = null; using (XLWorkbook excelFile = new XLWorkbook(@"C:\LibroVentaCompra.xlsx")) { var workSheet = excelFile.Worksheet(1); if (InformarMembrete == true) { workSheet.Cell("A1").Value = objCliente.RazonSocial; workSheet.Cell("A2").Value = objCliente.RUTEmpresa; workSheet.Cell("A3").Value = objCliente.Giro; workSheet.Cell("A4").Value = objCliente.Direccion; workSheet.Cell("A5").Value = objCliente.Ciudad; workSheet.Cell("A6").Value = objCliente.Representante; workSheet.Cell("A7").Value = objCliente.RUTRepresentante; } else { workSheet.Cell("A1").Value = string.Empty; workSheet.Cell("A2").Value = string.Empty; workSheet.Cell("A3").Value = string.Empty; workSheet.Cell("A4").Value = string.Empty; workSheet.Cell("A5").Value = string.Empty; workSheet.Cell("A6").Value = string.Empty; workSheet.Cell("A7").Value = string.Empty; } if (string.IsNullOrWhiteSpace(titulo) == false) { workSheet.Cell("D4").Value = titulo; } else { workSheet.Cell("D4").Value = string.Empty; } int NumeroFilaExcel = 8; foreach (string[] tableRow in lstAuxiliares) { for (int i = 0; i < tableRow.Length; i++) { workSheet.Cell(NumeroFilaExcel, i + 1).Value = tableRow[i]; } workSheet.Range("B" + NumeroFilaExcel + ":K" + NumeroFilaExcel) /*.Rows().Style.Border.OutsideBorder = XLBorderStyleValues.Medium*/; workSheet.Range("B" + NumeroFilaExcel + ":K" + NumeroFilaExcel) /*.Rows().Style.Border.InsideBorder = XLBorderStyleValues.Double*/; NumeroFilaExcel++; } ExcelByteArray = ParseExtensions.GetExcelStream(excelFile); } if (ExcelByteArray == null) { return(null); } else { return(ExcelByteArray); } }
public ActionResult PendientesAuxiliares() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); //Queda pendiente programar los filtros y la forma de pagar. var LstAuxConMovimiento = UsoComunAux.LstAuxConMovimientoTwo(db, objCliente); ViewBag.LstCtasAux = LstAuxConMovimiento; //Replantearse el uso del detalle o si hay que hacer un objeto para mostrar solo rut y saldo //Rut y saldo... Ocupa.. ¿AuxiliarModel? //Esta es la posible query de los pendientes a nivel Macro var PendientesAux = (from Detalle in db.DBDetalleVoucher join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID join Auxiliar in db.DBAuxiliares on Detalle.DetalleVoucherModelID equals Auxiliar.DetalleVoucherModelID join AuxiliarDetalle in db.DBAuxiliaresDetalle on Auxiliar.AuxiliaresModelID equals AuxiliarDetalle.AuxiliaresModelID where Voucher.DadoDeBaja == false && Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID && Detalle.ObjCuentaContable.TieneAuxiliar == 1 && Detalle.ConciliadoCtasCtes == false && Detalle.FechaDoc.Year == 2020 select new { Id = Auxiliar.AuxiliaresModelID, Rut = AuxiliarDetalle.Individuo2.RUT, RazonSocial = AuxiliarDetalle.Individuo2.RazonSocial, Debe = Detalle.MontoDebe, Haber = Detalle.MontoHaber }); var PendientesAuxOrder = PendientesAux.GroupBy(x => new { x.Rut, x.RazonSocial }) .Select(y => new AuxPendientesViewModel { Rut = y.Key.Rut, RazonSocial = y.Key.RazonSocial, Saldo = y.Sum(z => Math.Abs(z.Haber)) - y.Sum(z => Math.Abs(z.Debe)) }).ToList(); //Nota Revisar nubox //Aqui van los filtros de la cuenta contable que se está buscando conciliar //¿Aquí también hay conciliación bancaria? -> No entiendo realmente como hacerlo. //Por hacer: //Todos aquellos movimientos que se hicieron en la conciliacion bancaria que no tenian información o la cuenta tenia auxiliar y no lo puso //Deben mapearse guardarse o encontrarse y dejarlos en este listado de pendientes //Por lo que pude notar esto se puede conseguir con la logica hecha en el estado de cuentas corriente //¿Como se van a generar los pagos? // Escriba aquí la planificación // Respuesta rápida -> Con la misma lógica que se usa al importar el excel con sus respectivos movimientos return(View(PendientesAuxOrder)); }
public static bool ActualizarCartolaMacroConciliacion(FacturaPoliContext db, ClientesContablesModel ObjCliente, int Id, int IdCuentaContable, int IdVoucher) { bool Result = false; return(Result); }
//public static List<ObjCartolaYVouchers> ConvertirAObjetoCartola(List<string[]> Cartola/*, string NombreCtaCont*/) //{ // List<ObjCartolaYVouchers> LstObjCartolaAutomatica = new List<ObjCartolaYVouchers>(); // if(Cartola.Count() > 1) // { // Cartola.RemoveAt(0); // foreach (var itemCartola in Cartola) // { // if (itemCartola.All(x => string.IsNullOrWhiteSpace(x))) // { // continue; // } // else // { // //Datos Cartola // ObjCartolaYVouchers ObjCartolaAutomatica = new ObjCartolaYVouchers(); // ObjCartolaAutomatica.Fecha = ParseExtensions.ToDD_MM_AAAA_Multi(itemCartola[0]); // ObjCartolaAutomatica.Docum = Convert.ToInt32(itemCartola[1]); // ObjCartolaAutomatica.Detalle = itemCartola[2]; // ObjCartolaAutomatica.Debe = Convert.ToDecimal(itemCartola[3]); // ObjCartolaAutomatica.Haber = Convert.ToDecimal(itemCartola[4]); // ObjCartolaAutomatica.Saldo = Convert.ToDecimal(itemCartola[5]); // //Datos Voucher // ObjCartolaAutomatica.CodigoInterno = itemCartola[6]; // ObjCartolaAutomatica.Rut = itemCartola[7]; // ObjCartolaAutomatica.Glosa = itemCartola[8]; // LstObjCartolaAutomatica.Add(ObjCartolaAutomatica); // } // } // } // return LstObjCartolaAutomatica; //} public static CartolaBancariaMacroModel GetCartolaById(FacturaPoliContext db, ClientesContablesModel ObjCliente, int id) { CartolaBancariaMacroModel ReturnValues = new CartolaBancariaMacroModel(); ReturnValues = db.DBCartolaBMacro.Include("CartolaDetalle").Where(x => x.ClientesContablesModelID.ClientesContablesModelID == ObjCliente.ClientesContablesModelID).FirstOrDefault(); return(ReturnValues); }
// GET: PartialHelpers public ActionResult DatosClienteParaPDFPArtial() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); ViewBag.ObjClienteContable = objCliente; return(PartialView()); }
public ActionResult ConciliacionBAutomatica() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); ViewBag.CuentasBancarias = ConciliacionBancariaViewModel.getCtasBancarias(db, objCliente); return(View()); }
public static bool CambiarEstadoAconciliado(FacturaPoliContext db, ClientesContablesModel ObjCliente, int Id) { bool Result = false; Result = true; return(Result); }
public FileResult PlantillaExcelConciliacionManual() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); string FileVirtualPath = ParseExtensions.Get_AppData_Path("PlantillaConciliacionBancaria.xlsx"); return(File(FileVirtualPath, "application/force- download", Path.GetFileName(FileVirtualPath))); }
public ActionResult DetalleCartola(int Id) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var LstDetalle = CartolaBancariaModel.ObtenerDetalleCartola(Id, db, objCliente); return(View(LstDetalle)); }
public ActionResult ListaCartolaBancaria() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var ListaCartola = CartolaBancariaMacroModel.GetListaCartola(db, objCliente); return(View(ListaCartola)); }
public override void OnResultExecuted(ResultExecutedContext filterContext) { HttpSessionStateBase Session = filterContext.HttpContext.Session; string NombreUsuario = filterContext.HttpContext.User.Identity.Name; string UserID = filterContext.HttpContext.User.Identity.GetUserId(); //User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); QuickEmisorModel objEmisor = PerfilamientoModule.GetEmisorSeleccionado(Session, UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); MonitoreoModel objMonitoreo; if (objCliente == null) { objMonitoreo = new MonitoreoModel(db, NombreUsuario, objEmisor.RazonSocial, objEmisor.QuickEmisorModelID); } else { objMonitoreo = new MonitoreoModel(db, NombreUsuario, objEmisor.RazonSocial, objCliente.RazonSocial, objEmisor.QuickEmisorModelID, objCliente.ClientesContablesModelID); } RouteData route_data = filterContext.RouteData; objMonitoreo.Tiempo_de_ejecucion = (DateTime.Now - tiempo_inicio); objMonitoreo.Controlador = (string)route_data.Values["controller"]; objMonitoreo.CambiosRealizados = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).Form.ToString(); objMonitoreo.QueryStrings = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).QueryString.ToString(); objMonitoreo.AccionTipo = Accion; objMonitoreo.AccionNombre = (string)route_data.Values["action"]; objMonitoreo.Hora_Ejecucion = DateTime.Now; db.DBMonitoreo.Add(objMonitoreo); db.SaveChanges(); #region oldnotes /* * RouteData route_data = filterContext.RouteData; * TimeSpan duration = (DateTime.Now - tiempo_inicio); * string controller = (string)route_data.Values["controller"]; * * string cambiosRealizados =((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).Form.ToString(); * string queryStrings = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).QueryString.ToString(); * * string[] cambiosRealizadosArray = cambiosRealizados.Split('&'); * * string action = (string)route_data.Values["action"]; * * DateTime hora_Ejecucion = DateTime.Now; */ #endregion }
public static CuentaContableModel CuentaContableDesdeID(int CuentaContableID, ClientesContablesModel ObjCliente) { CuentaContableModel ReturnValues = new CuentaContableModel(); if (ObjCliente != null) { ReturnValues = ObjCliente.CtaContable.SingleOrDefault(x => x.CuentaContableModelID == CuentaContableID); } return(ReturnValues); }
public ActionResult PendientesAuxConfiguracion() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var LstAuxConMovimiento = UsoComunAux.LstAuxConMovimientoTwo(db, objCliente); ViewBag.LstCtasAux = LstAuxConMovimiento; return(View()); }
public static string GetNombreCentroDeCosto(int CentroDeCostoID, ClientesContablesModel objCliente) { var ExisteCentroDeCosto = objCliente.ListCentroDeCostos.Where(x => x.CentroCostoModelID == CentroDeCostoID).Count(); string CentroDeCostoNombre = ""; if (ExisteCentroDeCosto > 0) { CentroDeCostoNombre = objCliente.ListCentroDeCostos.SingleOrDefault(x => x.CentroCostoModelID == CentroDeCostoID).Nombre; } return(CentroDeCostoNombre); }
public static IQueryable <AuxiliaresDetalleModel> ObtenerLibrosPrestadores(ClientesContablesModel objCliente, FacturaPoliContext db, string TipoReceptor = "", int Mes = 0, int Anio = 0, string RazonSocial = "", string Rut = "", string FechaInicio = "", string FechaFin = "", int Folio = 0) { bool ConversionFechaInicioExitosa = false; DateTime dtFechaInicio = new DateTime(); bool ConversionFechaFinExitosa = false; DateTime dtFechaFin = new DateTime(); if (string.IsNullOrWhiteSpace(FechaInicio) == false && string.IsNullOrWhiteSpace(FechaFin) == false) { ConversionFechaInicioExitosa = DateTime.TryParseExact(FechaInicio, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtFechaInicio); ConversionFechaFinExitosa = DateTime.TryParseExact(FechaFin, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtFechaFin); } IQueryable <AuxiliaresDetalleModel> TablaPrestador = (from Voucher in db.DBVoucher join DetalleVoucher in db.DBDetalleVoucher on Voucher.VoucherModelID equals DetalleVoucher.VoucherModelID join Auxiliares in db.DBAuxiliares on DetalleVoucher.DetalleVoucherModelID equals Auxiliares.DetalleVoucherModelID join AuxiliaresDetalle in db.DBAuxiliaresDetalle on Auxiliares.AuxiliaresModelID equals AuxiliaresDetalle.AuxiliaresModelID where Voucher.DadoDeBaja == false && Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID && Voucher.Tipo == TipoVoucher.Traspaso && AuxiliaresDetalle.Individuo2.tipoReceptor == TipoReceptor select AuxiliaresDetalle); if (Mes > 0) { TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion.Month == Mes); } if (Anio > 0) { TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion.Year == Anio); } if (!string.IsNullOrWhiteSpace(RazonSocial)) { TablaPrestador = TablaPrestador.Where(x => x.Individuo2.RazonSocial.Contains(RazonSocial)); } if (!string.IsNullOrWhiteSpace(Rut)) { TablaPrestador = TablaPrestador.Where(x => x.Individuo2.RUT.Contains(Rut)); } if (Folio > 0) { TablaPrestador = TablaPrestador.Where(x => x.Folio == Folio); } if (ConversionFechaInicioExitosa && ConversionFechaFinExitosa) { TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion >= dtFechaInicio && x.FechaContabilizacion <= dtFechaFin); } return(TablaPrestador); }
// GET: ContabilidadConciliacionBancaria public ActionResult ConciliacionBancaria(FiltrosEstadoCtasCorrientes Filtros) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); //Consulta cuentas contables Banco var lstCuentasDeBanco = ConciliacionBancariaViewModel.getCtasBancarias(db, objCliente); ViewBag.CuentasBancarias = lstCuentasDeBanco; return(View()); }
public static string ObtenerNombreCuentaContable(int CuentaContableID, ClientesContablesModel ObjCliente) { string NombreCtaCont = string.Empty; CuentaContableModel CuentaCont = new CuentaContableModel(); if (ObjCliente != null) { CuentaCont = ObjCliente.CtaContable.SingleOrDefault(x => x.CuentaContableModelID == CuentaContableID); } NombreCtaCont = CuentaCont.CodInterno + " " + CuentaCont.nombre; return(NombreCtaCont); }
public ActionResult EstCtasCtesConciliado(FiltrosEstadoCtasCorrientes Filtros) { //Condiciones Si elige un tipo de listado. //Si se quiere mostrar no conciliada "Eliminar las que esten conciliadas". //Si se quiere mostrar las conciliadas "Retornar solo las conciliadas". //Si se quiere mostrar todas entonces no pasar por este proceso. //Cambiar el estado en la base de datos a conciliado si el movimiento lo está al momento de calcularlo //En el futuro utilizar este modulo para refrescar y calcular los conciliados ¿Con qué sentido? -> //R: al hacer esto por detrás y no renderizar una vista se habrán establecido los conciliados -> no conciliados y la lista completa que incluye a los 2 //Entonces al crear la query simplemente irá a buscar los que estén conciliados y no tendrá que hacer todo el calculo nuevamente lo que permite una mejora //Tremenda en el tiempo de carga de estas listas. //Entonces paso 1 -> Según el id del movimiento si está conciliado etiquetarlo como tal. //Paso 2 Crear las querys correspondientes para obtener esta lista conciliada //Paso 3 Crear el modulo de los pendientes que solo tendrá aquellos que no estén conciliados. //Paso 4 Crear la manera de pagar estos documentos basandose en como se hace la conciliación bancaria. string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var lstCtasAux = UsoComunAux.LstAuxConMovimiento(db, objCliente); ViewBag.lstCtasCtes = lstCtasAux; ViewBag.ObjCliente = objCliente; List <ObjetoCtasCtesPorConciliar> ListaOrdenadaConAcumulados = new List <ObjetoCtasCtesPorConciliar>(); List <EstCtasCtesConciliadasViewModel> ListaProcesada = new List <EstCtasCtesConciliadasViewModel>(); List <ObjetoCtasCtesPorConciliar> ListaOrdenada = new List <ObjetoCtasCtesPorConciliar>(); IQueryable <EstCtasCtesConciliadasViewModel> QueryCtaCorrienteTodosLosAnios = EstCtasCtesConciliadasViewModel.GetlstCtasCtesConciliadas(db, objCliente); IQueryable <EstCtasCtesConciliadasViewModel> ListaFiltrada = EstCtasCtesConciliadasViewModel.FiltrosCtaCorriente(QueryCtaCorrienteTodosLosAnios, Filtros); ListaProcesada = EstCtasCtesConciliadasViewModel.CalcularYConciliarLista(db, objCliente, ListaFiltrada, Filtros); ListaOrdenada = EstCtasCtesConciliadasViewModel.OrdenarListaCtasCtes(ListaProcesada); ListaOrdenadaConAcumulados = EstCtasCtesConciliadasViewModel.CalcularAcumulados(ListaOrdenada, QueryCtaCorrienteTodosLosAnios, db, objCliente, Filtros); decimal TotalAcumuladosGenerales = EstCtasCtesConciliadasViewModel.CalcularAcumuladosGenerales(ListaOrdenadaConAcumulados, QueryCtaCorrienteTodosLosAnios, Filtros); ViewBag.TotalSaldoAcumulado = TotalAcumuladosGenerales; Session["EstadoDeCuentasCorrientes"] = ListaOrdenadaConAcumulados; Session["TotalAcumEstadoCuentasCorrientes"] = TotalAcumuladosGenerales; Session["Filtros"] = Filtros; // Para manejar los filtros consultados para el reporte de excel. return(View(ListaOrdenadaConAcumulados)); }
public ActionResult ResultadoConciliacion() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var lstNoInsertados = Session["ReporteNoInsertados"] as List <ObjCartolaYVouchers>; if (lstNoInsertados.Any()) { ViewBag.NoInsertados = lstNoInsertados; } return(View()); }
public ActionResult EjecutarConciliacion(ComparacionConciliacionBancariaViewModel DatosConciliacion) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); CuentaContableModel CuentaConsultada = ParseExtensions.ObtenerCuentaDesdeId(DatosConciliacion.IdCuentaContable, objCliente); var Reporte = new ReporteResultadoConciliacion(); var DatosConciliacionActualizados = CartolaBancariaModel.ConciliarSiSePuede(DatosConciliacion, db, objCliente); var ActualizarTablas = CartolaBancariaMacroModel.ActualizarEstadosConciliacion(db, objCliente, DatosConciliacionActualizados.Item2, CuentaConsultada, DatosConciliacionActualizados.Item1.IdCartola); var ReporteConciliacion = CartolaBancariaModel.calcularReporteConciliacionManual(DatosConciliacionActualizados.Item1.lstCartola, DatosConciliacionActualizados.Item1.lstLibroMayor); return(View(ReporteConciliacion)); }
public static List <AuxiliaresDetalleModel> RescatarLibroCentralizacion(ClientesContablesModel objCliente, TipoCentralizacion tipoLibroCentralizacion, FacturaPoliContext db, string FechaInicio = "", string FechaFin = "", int Anio = 0, int Mes = 0) { bool ConversionFechaInicioExitosa = false; DateTime dtFechaInicio = new DateTime(); bool ConversionFechaFinExitosa = false; DateTime dtFechaFin = new DateTime(); ConversionFechaInicioExitosa = DateTime.TryParse(FechaInicio, out dtFechaInicio); ConversionFechaFinExitosa = DateTime.TryParse(FechaFin, out dtFechaFin); var CuentasContableCliente = db.DBCuentaContable.Where(w => w.ClientesContablesModelID == objCliente.ClientesContablesModelID && w.TipoCentralizacionAuxiliares == tipoLibroCentralizacion); List <VoucherModel> LstVoucher = db.DBVoucher.Where(r => r.ClientesContablesModelID == objCliente.ClientesContablesModelID && r.DadoDeBaja == false).ToList(); List <AuxiliaresDetalleModel> LaLista = new List <AuxiliaresDetalleModel>(); foreach (var voucher in LstVoucher) { List <DetalleVoucherModel> lstDetalleVoucher = voucher.ListaDetalleVoucher.Where(p => CuentasContableCliente.Any(ee => ee.CodInterno == p.ObjCuentaContable.CodInterno)).ToList(); foreach (var detalleVoucher in lstDetalleVoucher) { List <AuxiliaresModel> lstAuxiliar = db.DBAuxiliares.Where(r => r.DetalleVoucherModelID == detalleVoucher.DetalleVoucherModelID).ToList(); foreach (var auxiliar in lstAuxiliar) { List <AuxiliaresDetalleModel> LstDetalleAuxiliares = db.DBAuxiliaresDetalle.Where(r => r.AuxiliaresModelID == auxiliar.AuxiliaresModelID).ToList(); if (Anio != 0) { LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion.Year == Anio).ToList(); } if (Mes != 0) { LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion.Month == Mes).ToList(); } if (ConversionFechaInicioExitosa) { LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion >= dtFechaInicio).ToList(); } if (ConversionFechaFinExitosa) { LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion <= dtFechaFin).ToList(); } LaLista.AddRange(LstDetalleAuxiliares); } } } return(LaLista); }
public ActionResult EstadoCtasCorrientes(FiltrosEstadoCtasCorrientes Filtros) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var lstCtasAux = UsoComunAux.LstAuxConMovimiento(db, objCliente); ViewBag.lstCtasCtes = lstCtasAux; IQueryable <EstadoCuentasCorrientesViewModel> QueryCtaCorriente = EstadoCuentasCorrientesViewModel.GetLstCtaCorriente(db, objCliente); IQueryable <EstadoCuentasCorrientesViewModel> LstCtaCorrienteBusqueda = EstadoCuentasCorrientesViewModel.FiltrosCtaCorriente(QueryCtaCorriente, Filtros); PaginadorModel LstCtasConPaginacion = EstadoCuentasCorrientesViewModel.PaginacionCtasCorrientes(LstCtaCorrienteBusqueda, Filtros); Session["EstadoCtaCorriente"] = LstCtasConPaginacion.LstCtasCorrientes; return(View(LstCtasConPaginacion)); }
// GET: Monitoreo public ActionResult ControlarEstadoSesion(/*bool EstaIniciando*/) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); var NombreUsuario = (from usuario in db.DBUsuarios join name in db.DBMonitoreoSesion on usuario.UsuarioModelID equals name.UsuarioID select new MonitoreoSesionViewModel { Nombre = usuario.Nombre, EstaActivo = name.EstaActivo }).ToList(); return(View(NombreUsuario)); }
public ActionResult GetExcelEstadoCtaCorriente() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); string tituloDocumento = string.Empty; if (Session["EstadoCtaCorriente"] != null) { List <EstadoCuentasCorrientesViewModel> LstCtasCorrientes = Session["EstadoCtaCorriente"] as List <EstadoCuentasCorrientesViewModel>; if (LstCtasCorrientes != null) { var cachedStream = EstadoCuentasCorrientesViewModel.GetExcelCtaCorriente(LstCtasCorrientes, objCliente, true); return(File(cachedStream, "application/vnd.ms-excel", "Estado Cuentas Corrientes" + Guid.NewGuid() + ".xlsx")); } } return(null); }
public static object LstAuxConMovimientoTwo(FacturaPoliContext db, ClientesContablesModel objCliente) { object CtasConMovimiento = new object(); CtasConMovimiento = (from Detalle in db.DBDetalleVoucher join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID join Auxiliar in db.DBAuxiliares on Detalle.Auxiliar.AuxiliaresModelID equals Auxiliar.AuxiliaresModelID where Auxiliar.objCtaContable.ClientesContablesModelID == objCliente.ClientesContablesModelID && Voucher.DadoDeBaja == false && Auxiliar.objCtaContable.TieneAuxiliar == 1 select new { Id = Detalle.ObjCuentaContable.CuentaContableModelID, CodigoInterno = Detalle.ObjCuentaContable.CodInterno, Nombre = Detalle.ObjCuentaContable.nombre }).Distinct(); return(CtasConMovimiento); }
public ActionResult getExcelEstadoCuentasCorrientes() { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); string tituloDocumento = string.Empty; if (Session["EstadoDeCuentasCorrientes"] != null && Session["TotalAcumEstadoCuentasCorrientes"] != null) { decimal SaldoAperturaGeneral = (decimal)Session["TotalAcumEstadoCuentasCorrientes"]; List <ObjetoCtasCtesPorConciliar> LstCtasCorrientes = Session["EstadoDeCuentasCorrientes"] as List <ObjetoCtasCtesPorConciliar>; if (LstCtasCorrientes != null) { var cachedStream = EstadoCuentasCorrientesViewModel.GetExcelCuentasCorrientes(LstCtasCorrientes, SaldoAperturaGeneral, objCliente, true); return(File(cachedStream, "application/vnd.ms-excel", "Estado Cuentas Corrientes" + Guid.NewGuid() + ".xlsx")); } } return(null); }