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 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); }
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 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 bool GuardarCartolaBancariaManual(List <CartolaBancariaModel> LstCartolaAGuardar, string FechaCartola, int NumeroCartola, ClientesContablesModel ObjCliente, FacturaPoliContext db) { bool Result = false; decimal TotalCartola = Math.Abs(LstCartolaAGuardar.Sum(x => x.Haber) - LstCartolaAGuardar.Sum(x => x.Debe)); CartolaBancariaMacroModel CartolaBancariaMacro = new CartolaBancariaMacroModel(); CartolaBancariaMacro.FechaCartola = ParseExtensions.ToDD_MM_AAAA_Multi(FechaCartola); CartolaBancariaMacro.ClientesContablesModelID = ObjCliente; CartolaBancariaMacro.NumeroCartola = NumeroCartola; CartolaBancariaMacro.TotalCartola = TotalCartola; CartolaBancariaMacro.CartolaDetalle = LstCartolaAGuardar; db.DBCartolaBMacro.Add(CartolaBancariaMacro); db.SaveChanges(); Result = true; return(Result); }
public ActionResult ImportarCartolaBancariaManual(ObjCartolaMacro DataCartola) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); CartolaBancariaMacroModel CartolaMacro = new CartolaBancariaMacroModel(); List <CartolaBancariaModel> LstDetalleCartola = new List <CartolaBancariaModel>(); bool Result = false; bool SiExiste = CartolaBancariaMacroModel.ExistenRepetidos(ParseExtensions.ToDD_MM_AAAA_Multi(DataCartola.FechaCartola), DataCartola.NumeroCartola, db, objCliente); if (SiExiste) { TempData["Error"] = "La cartola que se intenta importar ya existe."; RedirectToAction("ConciliacionBancaria", "ContabilidadConciliacionBancaria"); } if (DataCartola.files != null && DataCartola.files.ContentLength > 0) { var CartolaPura = CartolaBancariaMacroModel.DeExcelAObjetoCartolaYVoucher(DataCartola.files); //var CartolaPura = CartolaBancariaModel.DeExcelACartolaBancaria(DataCartola.files, db); LstDetalleCartola = CartolaBancariaModel.ObtenerCartolaBancariaManual(CartolaPura, objCliente); Result = CartolaBancariaMacroModel.GuardarCartolaBancariaManual(LstDetalleCartola, DataCartola.FechaCartola, DataCartola.NumeroCartola, objCliente, db); if (Result == true) { TempData["Correcto"] = "Cartola Importada con éxito."; } else { TempData["Error"] = "Hubo un error al importar la cartola."; } } else { TempData["Error"] = "No hay datos para importar"; } return(RedirectToAction("ConciliacionBancaria", "ContabilidadConciliacionBancaria")); }
public static bool GuardarCartolaBancaria(List <CartolaBancariaModel> LstCartolaConInfo /*, List<CartolaBancariaModel> LstCartolaSinInfo*/, string FechaCartola, int NumeroCartola, CuentaContableModel CuentaConsultada, ClientesContablesModel ObjCliente, FacturaPoliContext db) { bool Result = false; List <CartolaBancariaModel> CartolaBancariaCompleta = new List <CartolaBancariaModel>(); CartolaBancariaCompleta.AddRange(LstCartolaConInfo); CartolaBancariaMacroModel CartolaBancariaMacro = new CartolaBancariaMacroModel(); CartolaBancariaMacro.FechaCartola = ParseExtensions.ToDD_MM_AAAA_Multi(FechaCartola); CartolaBancariaMacro.ClientesContablesModelID = ObjCliente; CartolaBancariaMacro.CuentaContableModelID = CuentaConsultada; CartolaBancariaMacro.NumeroCartola = NumeroCartola; CartolaBancariaMacro.CartolaDetalle = CartolaBancariaCompleta; db.DBCartolaBMacro.Add(CartolaBancariaMacro); db.SaveChanges(); Result = true; return(Result); }
public static bool ActualizarEstadosConciliacion(FacturaPoliContext db, ClientesContablesModel ObjCliente, List <RelacionadosYConciliados> DatosConciliacion, CuentaContableModel CuentaConsultada, int IdCartola) { //Se actualiza la tabla DetalleVoucher && CartolaBancaria. bool Result = false; List <int> IdsDetalleAactualizar = DatosConciliacion.Select(x => x.IdDetalle).ToList(); List <DetalleVoucherModel> DetalleEncontrados = db.DBDetalleVoucher.Where(x => IdsDetalleAactualizar.Contains(x.DetalleVoucherModelID)).ToList(); var ActualizaEncontrados = DetalleEncontrados.Select(x => { x.Conciliado = true; return(x); }).ToList(); db.DBDetalleVoucher.AddOrUpdate(ActualizaEncontrados.ToArray()); CartolaBancariaMacroModel CartolaAactualizar = db.DBCartolaBMacro.Include("CartolaDetalle").SingleOrDefault(x => x.CartolaBancariaMacroModelID == IdCartola); foreach (CartolaBancariaModel itemCArtola in CartolaAactualizar.CartolaDetalle) { RelacionadosYConciliados RelacionCartolaYLibroMayor = new RelacionadosYConciliados(); RelacionCartolaYLibroMayor = DatosConciliacion.FirstOrDefault(x => x.IdCartolaDetalle == itemCArtola.CartolaBancariaModelId); if (RelacionCartolaYLibroMayor != null) { itemCArtola.VoucherModelID = RelacionCartolaYLibroMayor.VoucherId; itemCArtola.CuentaContableModelID = CuentaConsultada; itemCArtola.EstaConciliado = true; itemCArtola.ClientesContablesModelID = ObjCliente; } } db.DBCartolaBMacro.AddOrUpdate(CartolaAactualizar); db.SaveChanges(); Result = true; return(Result); }
public static void SiExisteReemplazala(DateTime FechaCartola, int NumeroCartola, FacturaPoliContext db, ClientesContablesModel objCliente) { //crear otra funcion que lo que haga sea insertar las que no existen en la cartola -> definir como diferenciar los campos CartolaBancariaMacroModel CartolaEncontrada = db.DBCartolaBMacro.Include("CartolaDetalle") .Where(x => x.ClientesContablesModelID.ClientesContablesModelID == objCliente.ClientesContablesModelID && x.FechaCartola.Month == FechaCartola.Month && x.FechaCartola.Year == FechaCartola.Year && x.NumeroCartola == NumeroCartola).FirstOrDefault(); List <int> lstVouchersId = new List <int>(); if (CartolaEncontrada != null) { lstVouchersId = CartolaEncontrada.CartolaDetalle.Select(x => x.VoucherModelID).ToList(); } List <VoucherModel> VouchersADarDeBaja = new List <VoucherModel>(); if (lstVouchersId.Any()) { VouchersADarDeBaja = db.DBVoucher.Where(x => lstVouchersId.Contains(x.VoucherModelID)).ToList(); } if (VouchersADarDeBaja.Any()) { VouchersADarDeBaja = VouchersADarDeBaja.Select(x => { x.DadoDeBaja = true; return(x); }).ToList(); foreach (VoucherModel itemVoucher in VouchersADarDeBaja) { db.Entry(itemVoucher).State = System.Data.Entity.EntityState.Modified; } } if (CartolaEncontrada != null) { db.DBCartolaBMacro.Remove(CartolaEncontrada); } }
public ActionResult ImportarExcelConciliacionBancaria(ObjCartolaMacro DataCartola) { string UserID = User.Identity.GetUserId(); FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID); ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db); Session["CartolaImportada"] = null; using (var dbContextTransaction = db.Database.BeginTransaction()) { try { if (DataCartola.files != null && DataCartola.files.ContentLength > 0) { string fileExtension = Path.GetExtension(DataCartola.files.FileName); if (fileExtension == ".xlsx" || fileExtension == ".xls") { List <string[]> MayorConsultado = Session["LibroMayorTwo"] as List <string[]>; List <LibroMayorConciliacion> MayorConsultadoLista = CartolaBancariaModel.getListaLibroMayor(MayorConsultado); string NombreCtaCont = MayorConsultado[0][9]; ViewBag.NombreCuentaContable = NombreCtaCont; int CuentaConsultadaID = (int)Session["ObjetoCuentaContableConsultada"]; CuentaContableModel CuentaConsultada = UtilesContabilidad.CuentaContableDesdeID(CuentaConsultadaID, objCliente); //DeExcelAObjetoCartolaYVoucher var ObjCartolaCompleto = CartolaBancariaMacroModel.ConvertirAObjetoCartola(DataCartola.files /*NombreCtaCont*/); var ResultadoInsercion = CartolaBancariaMacroModel.ConvertirAVoucher(ObjCartolaCompleto, objCliente, db, CuentaConsultada, DataCartola.FechaCartola, DataCartola.NumeroCartola); //Usar para el reporte de conciliacion bancaria var NoInsertados = ResultadoInsercion.Item2; Session["ReporteNoInsertados"] = NoInsertados; if (ResultadoInsercion.Item1 == false) { TempData["Error"] = "Esta cartola ya existe."; return(RedirectToAction("ConciliacionBAutomatica", "ContabilidadConciliacionBancaria")); } } } else { TempData["Error"] = "No existen registros en el fichero."; return(RedirectToAction("ConciliacionBAutomatica", "ContabilidadConciliacionBancaria")); } dbContextTransaction.Commit(); TempData["Correcto"] = "Cartola y Vouchers creados con éxito."; return(RedirectToAction("ResultadoConciliacion", "ContabilidadConciliacionBancaria")); } catch (Exception ex) { dbContextTransaction.Rollback(); TempData["Error"] = $"Error al realizar esta acción. Mensaje de error: {ex.Message}. En caso de necesitarlo informar este error."; db.DBErrores.Add(new ErrorMensajeMonitoreo { Mensaje = ex.Message }); db.SaveChanges(); return(RedirectToAction("ConciliacionBAutomatica", "ContabilidadConciliacionBancaria")); } } }
public static bool GuardarCartolaBancaria(CartolaBancariaMacroModel Cartola, FacturaPoliContext db) { bool Result = false; return(Result); }