public ActionResult DeleteConfirmed(int id) { BoletaAportes boletaAportes = db.BoletaAportes.Find(id); db.BoletaAportes.Remove(boletaAportes); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "IdBoleta,IdDeclaracionJurada,MesBoleta,AnioBoleta,FechaVencimiento,TotalSueldos2,TotalSueldos5,TotalPagado,RecargoMora,BoletaPagada,FechaPago,FechaBoleta")] BoletaAportes boletaAportes) { if (ModelState.IsValid) { db.Entry(boletaAportes).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IdDeclaracionJurada = new SelectList(db.DeclaracionJurada, "IdDeclaracionJurada", "IdDeclaracionJurada", boletaAportes.IdDeclaracionJurada); return(View(boletaAportes)); }
// GET: Administrador/BoletaAportes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BoletaAportes boletaAportes = db.BoletaAportes.Find(id); if (boletaAportes == null) { return(HttpNotFound()); } return(View(boletaAportes)); }
// GET: Administrador/BoletaAportes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BoletaAportes boletaAportes = db.BoletaAportes.Find(id); if (boletaAportes == null) { return(HttpNotFound()); } ViewBag.IdDeclaracionJurada = new SelectList(db.DeclaracionJurada, "IdDeclaracionJurada", "IdDeclaracionJurada", boletaAportes.IdDeclaracionJurada); return(View(boletaAportes)); }
public ActionResult PagarImprimirBoletas(int[] IdsBoletas) { string BoletasPagadas = JsonConvert.SerializeObject(IdsBoletas); foreach (var IdBoleta in IdsBoletas) { BoletaAportes boletaAportes = db.BoletaAportes.Find(IdsBoletas); boletaAportes.BoletaPagada = true; boletaAportes.FechaPago = DateTime.Today; decimal total2 = (boletaAportes.TotalSueldos / 100) * 2; decimal total5 = (boletaAportes.TotalSueldosAfiliados / 100) * 5; boletaAportes.TotalPagado = Math.Truncate(total2 + total5); db.SaveChanges(); } return(RedirectToAction("ImprimirBoletasPagadas", "Rendicion", new { BoletasPagadas = BoletasPagadas })); }
// GET: Empresas/BoletaAportes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BoletaAportes boletaAportes = db.BoletaAportes.Find(id); if (boletaAportes == null) { return(HttpNotFound()); } DeclaracionJurada ddjj = db.DeclaracionJurada.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada).FirstOrDefault(); decimal mora = (boletaAportes.RecargoMora != null) ? (decimal)boletaAportes.RecargoMora : 0; boletaAportes.TotalDepositado = TruncateFunction(boletaAportes.Aportes + boletaAportes.AportesAfiliados + mora, 2); ViewBag.IdEmpresa = ddjj.idEmpresa; return(View(boletaAportes)); }
public ActionResult RendicionBcoHipotecario(HttpPostedFileBase fileBancoHipotecario) { List <BoletaAportes> boletasPagadas = new List <BoletaAportes>(); List <MessageVm> errores = new List <MessageVm>(); try { if (fileBancoHipotecario != null && fileBancoHipotecario.ContentLength > 0) { List <string> rows = new List <string>(); StreamReader fileContent = new StreamReader(fileBancoHipotecario.InputStream); do { rows.Add(fileContent.ReadLine()); }while (!fileContent.EndOfStream); foreach (var row in rows) { if (rows.IndexOf(row) != 0 && rows.IndexOf(row) != (rows.Count() - 1)) { if (row.Length == 775) { int idDeclaracion = int.Parse(row.Substring(696, 8)); string _fechaPago = row.Substring(516, 8); int _anio = int.Parse(_fechaPago.Substring(0, 4)); int _mes = int.Parse(_fechaPago.Substring(4, 2)); int _dia = int.Parse(_fechaPago.Substring(6, 2)); int importe = int.Parse(row.Substring(715, 6)); int importeDecimal = int.Parse(row.Substring(721, 2)); decimal monto = importe + (decimal)importeDecimal / 100; DateTime fechaPago = new DateTime(_anio, _mes, _dia); BoletaAportes boleta = db.BoletaAportes.Where(x => x.IdDeclaracionJurada == idDeclaracion).FirstOrDefault(); if (boleta != null) { boletasPagadas.Add(boleta); if (!boleta.BoletaPagada) { boleta.BoletaPagada = true; boleta.FechaPago = fechaPago; boleta.TotalPagado = monto; db.SaveChanges(); errores.Add(new MessageVm() { Type = "alert-success", Message = "Boleta en linea: " + (rows.IndexOf(row) + 1) + ", marcada como pagada.", Dismissible = true }); } else { errores.Add(new MessageVm() { Type = "alert-danger", Message = "Error en linea: " + (rows.IndexOf(row) + 1) + ", Boleta pagada.", Dismissible = true }); } } else { errores.Add(new MessageVm() { Type = "alert-danger", Message = "Error en linea: " + (rows.IndexOf(row) + 1) + ", Boleta no existente.", Dismissible = true }); } } else { errores.Add(new MessageVm() { Type = "alert-danger", Message = "Error en linea: " + (rows.IndexOf(row) + 1) + ", Largo de linea no es valido.", Dismissible = true }); } } } } else { errores.Add(new MessageVm() { Type = "alert-danger", Message = "Error, Archivo vacio o no valido!!", Dismissible = true }); } } catch (Exception e) { errores.Add(new MessageVm() { Type = "alert-danger", Message = "A Ocurrido un Error, por favor intente nuevamente!!", Dismissible = true }); //log string log = e.Message; } ViewBag.BoletasPagadas = boletasPagadas.Select(x => x.IdBoleta).ToArray(); ViewBag.ErroresBcoHipotecario = errores; return(View()); }
// GET: Administrador/Listados/DetailsBoletaAportes/5 public ActionResult DetailsBoletaAportes(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BoletaAportes boletaAportes = db.BoletaAportes.Find(id); if (boletaAportes == null) { return(HttpNotFound()); } DeclaracionJurada ddjj = db.DeclaracionJurada.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada).FirstOrDefault(); var empleados = db.DetalleDeclaracionJurada.Where(x => x.IdDeclaracionJurada == ddjj.IdDeclaracionJurada).ToList(); int count2 = 0, count5 = 0; decimal sueldos2 = 0, sueldos5 = 0; foreach (var empleado in empleados) { sueldos2 += empleado.Sueldo; count2++; var afiliado = db.Afiliado.Where(x => x.IdEmpleadoEmpresa == empleado.IdEmpleadoEmpresa).FirstOrDefault(); if (afiliado != null) { if (afiliado.FechaAlta.Year < ddjj.anio) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > ddjj.anio || (afiliado.FechaBaja.Value.Year == ddjj.anio && afiliado.FechaBaja.Value.Month >= ddjj.mes)) { //if (empleado.idJornadaLaboral == 1 || empleado.idJornadaLaboral == 2) //{ //if (empleado.SueldoBase > 0) //{ sueldos5 += empleado.SueldoBase.Value; //} //else //{ // sueldos5 += empleado.Sueldo; //} //} //else //{ // sueldos5 += empleado.Sueldo; //} count5++; } } else if (afiliado.FechaAlta.Year == ddjj.anio && afiliado.FechaAlta.Month <= ddjj.mes) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > ddjj.anio || (afiliado.FechaBaja.Value.Year == ddjj.anio && afiliado.FechaBaja.Value.Month >= ddjj.mes)) { //if (empleado.idJornadaLaboral == 1 || empleado.idJornadaLaboral == 2) //{ //if (empleado.SueldoBase > 0) //{ sueldos5 += empleado.SueldoBase.Value; //} //else //{ // sueldos5 += empleado.Sueldo; //} //} //else //{ // sueldos5 += empleado.Sueldo; //} count5++; } } } } boletaAportes.TotalSueldos = TruncateFunction(sueldos2, 2); boletaAportes.TotalSueldosAfiliados = TruncateFunction(sueldos5, 2); decimal total2 = (sueldos2 / 100) * 2; decimal total5 = (sueldos5 / 100) * 5; decimal mora = (boletaAportes.RecargoMora != null) ? (decimal)boletaAportes.RecargoMora : 0; //(Math.Truncate(((sueldos / 100) * 5) * 100) / 100).ToString(); boletaAportes.TotalDepositado2 = TruncateFunction(total2, 2); //Math.Truncate((total2 * 100) / (decimal)100);// Math.Truncate(total2); boletaAportes.TotalDepositado5 = TruncateFunction(total5, 2); //Math.Truncate((total5 * 100) / 100);// Math.Truncate(total5); boletaAportes.TotalDepositado = TruncateFunction(total2 + total5 + mora, 2); //Math.Truncate(((total2 + total5 + mora) * 100) / 100); //Math.Truncate(total2 + total5 + mora); return(View(boletaAportes)); }
public ActionResult Create([Bind(Include = "IdBoleta,IdDeclaracionJurada,MesBoleta,AnioBoleta")] BoletaAportes boletaAportes) { var claim = ((ClaimsIdentity)User.Identity).FindFirst("IdEmpresa"); int IdEmpresa = Convert.ToInt32(claim.Value); var declaracionesJuradas = db.DeclaracionJurada.Where(x => x.idEmpresa == IdEmpresa).ToList(); foreach (DeclaracionJurada declaracion in declaracionesJuradas) { declaracion.MesAnio = declaracion.mes + "/" + declaracion.anio; } ViewBag.IdDeclaracionJurada = new SelectList(declaracionesJuradas, "IdDeclaracionJurada", "MesAnio", boletaAportes.IdDeclaracionJurada); int cantEmpleadosContratados = db.EmpleadoEmpresa.Where(x => x.idEmpresa == IdEmpresa && x.FechaAlta.Month <= boletaAportes.MesBoleta && x.FechaAlta.Year <= boletaAportes.AnioBoleta && (x.FechaBaja.Value == null)).Count(); int cantDetalleDeclaracion = db.DetalleDeclaracionJurada.Include(t => t.DeclaracionJurada) .Include(t => t.EmpleadoEmpresa) .Where(x => x.EmpleadoEmpresa.idEmpresa == IdEmpresa && x.DeclaracionJurada.mes == boletaAportes.MesBoleta && x.DeclaracionJurada.anio == boletaAportes.AnioBoleta).Count(); if (cantDetalleDeclaracion < cantEmpleadosContratados) { ModelState.AddModelError("IdDeclaracionJurada", "No todos los empleados contratados estan declarados en la declararion jurada"); return(View(boletaAportes)); } if (db.BoletaAportes.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada && x.DeBaja == false).FirstOrDefault() != null) { ModelState.AddModelError("IdDeclaracionJurada", "Ya Existe una boleta Generada para este mes y año"); return(View(boletaAportes)); } var ddjj = db.DeclaracionJurada.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada).FirstOrDefault(); //boletaAportes.TotalSueldos = db.DetalleDeclaracionJurada.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada).Sum(x => x.Sueldo); var detalles = db.DetalleDeclaracionJurada.Where(x => x.IdDeclaracionJurada == boletaAportes.IdDeclaracionJurada).ToList(); int cantEmpleados = 0, cantAfiliado = 0; #region Calcular Aportes var CalcularAportes = db.ParametrosGenerales.AsNoTracking().Where(x => x.Key == "CalcularAportes").FirstOrDefault(); if (CalcularAportes == null) { CalcularAportes = new ParametroGeneral(); CalcularAportes.Key = "CalcularAportes"; CalcularAportes.Value = "True"; } #endregion #region CalcularAportesAfiliados var CalcularAportesAfiliados = db.ParametrosGenerales.AsNoTracking().Where(x => x.Key == "CalcularAportesAfiliados").FirstOrDefault(); if (CalcularAportesAfiliados == null) { CalcularAportesAfiliados = new ParametroGeneral(); CalcularAportesAfiliados.Key = "CalcularAportesAfiliados"; CalcularAportesAfiliados.Value = "True"; } #endregion foreach (var detalle in detalles) { var empEmpAux = db.EmpleadoEmpresa.Where(x => x.idEmpleadoEmpresa == detalle.IdEmpleadoEmpresa).FirstOrDefault(); var empleado = db.Empleado.Where(x => x.IdEmpleado == empEmpAux.idEmpleado).FirstOrDefault(); if (CalcularAportes.Value == "True") { cantEmpleados++; boletaAportes.TotalSueldos += detalle.Sueldo; } if (CalcularAportesAfiliados.Value == "True") { var afiliado = db.Afiliado.Where(x => x.IdEmpleadoEmpresa == empEmpAux.idEmpleadoEmpresa).FirstOrDefault(); if (afiliado != null) { if (afiliado.FechaAlta.Year < ddjj.anio) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > ddjj.anio || (afiliado.FechaBaja.Value.Year == ddjj.anio && afiliado.FechaBaja.Value.Month >= ddjj.mes)) { cantAfiliado++; boletaAportes.TotalSueldosAfiliados += (empEmpAux.IdJornada == 1 || empEmpAux.IdJornada == 2) ? detalle.SueldoBase.Value : detalle.Sueldo; } } else if (afiliado.FechaAlta.Year == ddjj.anio && afiliado.FechaAlta.Month <= ddjj.mes) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > ddjj.anio || (afiliado.FechaBaja.Value.Year == ddjj.anio && afiliado.FechaBaja.Value.Month >= ddjj.mes)) { cantAfiliado++; boletaAportes.TotalSueldosAfiliados += (empEmpAux.IdJornada == 1 || empEmpAux.IdJornada == 2) ? detalle.SueldoBase.Value : detalle.Sueldo; } } } } } #region Aportes var porcAportes = db.ParametrosGenerales.AsNoTracking().Where(x => x.Key == "PorcAportes").FirstOrDefault(); if (porcAportes == null) { porcAportes = new ParametroGeneral(); porcAportes.Key = "PorcAportes"; porcAportes.Value = "2"; } boletaAportes.CantEmpleados = cantEmpleados; boletaAportes.Aportes = TruncateFunction((boletaAportes.TotalSueldos / 100) * decimal.Parse(porcAportes.Value), 2); #endregion #region AportesAfiliados var porcAportesAfiliados = db.ParametrosGenerales.AsNoTracking().Where(x => x.Key == "PorcAportesAfiliados").FirstOrDefault(); if (porcAportesAfiliados == null) { porcAportesAfiliados = new ParametroGeneral(); porcAportesAfiliados.Key = "PorcAportesAfiliados"; porcAportesAfiliados.Value = "5"; } boletaAportes.CantAfiliados = cantAfiliado; boletaAportes.AportesAfiliados = TruncateFunction((boletaAportes.TotalSueldosAfiliados / 100) * decimal.Parse(porcAportesAfiliados.Value), 2); #endregion boletaAportes.FechaBoleta = DateTime.Today; boletaAportes.FechaVencimiento = GenerarVencimiento(boletaAportes.MesBoleta, boletaAportes.AnioBoleta); boletaAportes.BoletaPagada = false; boletaAportes.RecargoMora = 0; if (ModelState.IsValid) { db.BoletaAportes.Add(boletaAportes); db.SaveChanges(); return(RedirectToAction("CreateMessage")); } return(View(boletaAportes)); }