// GET: DeclaracionesJuradas/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DeclaracionJurada declaracionJurada = db.DeclaracionJurada.Find(id); if (declaracionJurada == null) { return(HttpNotFound()); } return(View(declaracionJurada)); }
// GET: DeclaracionesJuradas/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DeclaracionJurada declaracionJurada = db.DeclaracionJurada.Find(id); if (declaracionJurada == null) { return(HttpNotFound()); } var claim = ((ClaimsIdentity)User.Identity).FindFirst("IdEmpresa"); int IdEmpresa = Convert.ToInt32(claim.Value); ViewBag.idEmpresa = new SelectList(db.Empresa.Where(x => x.IdEmpresa == IdEmpresa), "IdEmpresa", "Cuit", IdEmpresa); return(View(declaracionJurada)); }
public ActionResult Edit([Bind(Include = "IdDeclaracionJurada,idEmpresa,mes,anio,fecha")] DeclaracionJurada declaracionJurada) { var claim = ((ClaimsIdentity)User.Identity).FindFirst("IdEmpresa"); int IdEmpresa = Convert.ToInt32(claim.Value); ViewBag.idEmpresa = new SelectList(db.Empresa.Where(x => x.IdEmpresa == IdEmpresa), "IdEmpresa", "Cuit", IdEmpresa); if (ModelState.IsValid) { if (db.DeclaracionJurada.Where(x => x.idEmpresa == declaracionJurada.idEmpresa && x.mes == declaracionJurada.mes && x.anio == declaracionJurada.anio && x.IdDeclaracionJurada != declaracionJurada.IdDeclaracionJurada).FirstOrDefault() != null) { ModelState.AddModelError("Mes", "ya existe una declaracion Jurada para este Mes y Año"); return(View(declaracionJurada)); } db.Entry(declaracionJurada).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("EditMessage")); } return(View(declaracionJurada)); }
public ActionResult Create([Bind(Include = "IdDeclaracionJurada,idEmpresa,mes,anio,fecha")] DeclaracionJurada declaracionJurada) { var claim = ((ClaimsIdentity)User.Identity).FindFirst("IdEmpresa"); int IdEmpresa = Convert.ToInt32(claim.Value); if (ModelState.IsValid) { if (db.DeclaracionJurada.Where(x => x.idEmpresa == declaracionJurada.idEmpresa && x.mes == declaracionJurada.mes && x.anio == declaracionJurada.anio).FirstOrDefault() != null) { ViewBag.idEmpresa = new SelectList(db.Empresa.Where(x => x.IdEmpresa == IdEmpresa), "IdEmpresa", "Cuit", IdEmpresa); ModelState.AddModelError("Mes", "ya existe una declaracion Jurada para este Mes y Año"); return(View(declaracionJurada)); } declaracionJurada.fecha = DateTime.Now; db.DeclaracionJurada.Add(declaracionJurada); db.SaveChanges(); return(RedirectToAction("CreateMessage", "DetallesDeclaracionJurada", new { idDeclaracionJurada = declaracionJurada.IdDeclaracionJurada })); } ViewBag.idEmpresa = new SelectList(db.Empresa.Where(x => x.IdEmpresa == IdEmpresa), "IdEmpresa", "Cuit", IdEmpresa); return(View(declaracionJurada)); }
// 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 List <Boleta> GetBoletas(int id) { List <Boleta> boletas = new List <Boleta>(); var boletaAux = db.BoletaAportes.Where(x => x.IdBoleta == id).FirstOrDefault(); if (boletaAux != null) { Boleta boletaNueva = new Boleta(); boletaNueva.Banco = banco; idDeclaracion = boletaAux.IdDeclaracionJurada; DeclaracionJurada ddjj = db.DeclaracionJurada.Where(x => x.IdDeclaracionJurada == idDeclaracion).FirstOrDefault(); Empresa empresa = db.Empresa.Where(x => x.IdEmpresa == ddjj.idEmpresa).FirstOrDefault(); Localidad localidad = db.Localidad.Where(x => x.IdLocalidad == empresa.IdLocalidad).FirstOrDefault(); boletaNueva.RazonSocial = empresa.RazonSocial; boletaNueva.Cuit = empresa.Cuit; boletaNueva.Domicilio = empresa.Calle + " " + empresa.Altura.ToString(); boletaNueva.CodPostal = localidad.CodPostal.ToString(); boletaNueva.Localidad = localidad.Nombre; string telefono = (empresa.TelefonoFijo != null) ? empresa.TelefonoFijo.ToString() : ""; if (telefono == "") { telefono = (empresa.TelefonoCelular != null) ? empresa.TelefonoCelular.ToString() : ""; } boletaNueva.Telefono = (empresa.TelefonoFijo != null) ? empresa.TelefonoFijo.ToString() : ""; boletaNueva.Mes = ddjj.mes.ToString(); boletaNueva.Anio = ddjj.anio.ToString(); DateTime fechaVencimiento = boletaAux.FechaVencimiento; boletaNueva.FechaVencimiento = fechaVencimiento.ToShortDateString(); boletaNueva.RecargoPorMora = (boletaAux.RecargoMora == null) ? "0" : boletaAux.RecargoMora.ToString(); boletaNueva.CantEmpleados = boletaAux.CantEmpleados.ToString(); boletaNueva.TotalSueldos = boletaAux.TotalSueldos.ToString(); boletaNueva.Aportes = (Math.Truncate(((boletaAux.TotalSueldos / 100) * 2) * 100) / 100).ToString(); boletaNueva.CantAfiliados = boletaAux.CantAfiliados.ToString(); boletaNueva.TotalSueldosAfiliados = boletaAux.TotalSueldosAfiliados.ToString(); boletaNueva.AportesAfiliados = (Math.Truncate(((boletaAux.TotalSueldosAfiliados / 100) * 5) * 100) / 100).ToString(); boletaNueva.Total = (Convert.ToDouble(boletaNueva.UnPorcFamiliaresACargo) + Convert.ToDouble(boletaNueva.RecargoPorMora)).ToString(); boletaNueva.TotalDepositado = (Convert.ToDouble(boletaNueva.Aportes) + Convert.ToDouble(boletaNueva.AportesAfiliados) + Convert.ToDouble(boletaNueva.Total)).ToString(); string totalDepositadoEntero = boletaNueva.TotalDepositado.Split(new Char[] { ',', '.' })[0]; string totalDepositadoDecimal = (boletaNueva.TotalDepositado.Split(new Char[] { ',', '.' }).Count() > 1) ? boletaNueva.TotalDepositado.Split(new Char[] { ',', '.' })[1] : "00"; boletaNueva.CodBarra = boletaNueva.Banco + idDeclaracion.ToString().PadLeft(8, '0') + fechaVencimiento.DayOfYear.ToString().PadLeft(3, '0') + (fechaVencimiento.Year - 2000).ToString().PadLeft(2, '0') + boletaNueva.Anio.PadLeft(4, '0') + boletaNueva.Mes.PadLeft(2, '0') + totalDepositadoEntero.PadLeft(6, '0') + totalDepositadoDecimal.PadLeft(2, '0'); int nv = 0; int resto = 0; int resto1 = 0; string digi2; nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(0, 1)) * 7); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(1, 1)) * 6); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(2, 1)) * 5); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(3, 1)) * 4); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(4, 1)) * 3); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(5, 1)) * 2); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(6, 1)) * 7); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(7, 1)) * 6); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(8, 1)) * 5); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(9, 1)) * 4); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(10, 1)) * 3); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(11, 1)) * 2); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(12, 1)) * 7); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(13, 1)) * 6); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(14, 1)) * 5); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(15, 1)) * 4); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(16, 1)) * 3); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(17, 1)) * 2); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(18, 1)) * 7); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(19, 1)) * 6); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(20, 1)) * 5); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(21, 1)) * 4); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(22, 1)) * 3); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(23, 1)) * 2); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(24, 1)) * 7); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(25, 1)) * 6); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(26, 1)) * 5); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(27, 1)) * 4); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(28, 1)) * 3); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(29, 1)) * 2); nv = nv + (int.Parse(boletaNueva.CodBarra.Substring(30, 1)) * 7); resto = nv / 11; resto1 = 11 - (nv - (resto * 11)); if (resto1 == 10) { digi2 = "0"; } else { if (resto1 == 11) { digi2 = "1"; } else { digi2 = resto1.ToString().Trim(); } } boletaNueva.CodBarra += digi2; boletaNueva.BarCode = creabarcode(boletaNueva.CodBarra); switch (boletaNueva.Mes) { case "1": boletaNueva.Mes = "Enero"; break; case "2": boletaNueva.Mes = "Febrero"; break; case "3": boletaNueva.Mes = "Marzo"; break; case "4": boletaNueva.Mes = "Abril"; break; case "5": boletaNueva.Mes = "Mayo"; break; case "6": boletaNueva.Mes = "Junio y SAC"; break; case "7": boletaNueva.Mes = "Julio"; break; case "8": boletaNueva.Mes = "Agosto"; break; case "9": boletaNueva.Mes = "Septiembre"; break; case "10": boletaNueva.Mes = "Octubre"; break; case "11": boletaNueva.Mes = "Noviembre"; break; case "12": boletaNueva.Mes = "Diciembre y SAC"; break; default: break; } boletas.Add(boletaNueva); //return boletas.ToList(); } return(boletas.ToList()); }
//[ValidateAntiForgeryToken] public ActionResult ImprimirBoletasPagadas(string BoletasPagadas = "null") { int[] IdsBoletasAportesPagadas; List <BoletaAportes> BoletasAportesPagadas = new List <BoletaAportes>(); if (!string.IsNullOrEmpty(BoletasPagadas)) { string llave = BoletasPagadas.Substring(0, 1); if (llave == "[") { IdsBoletasAportesPagadas = System.Web.Helpers.Json.Decode <int[]>(BoletasPagadas); ViewBag.BoletasAportesPagadas = IdsBoletasAportesPagadas; BoletasAportesPagadas = db.BoletaAportes.Where(x => IdsBoletasAportesPagadas.Contains(x.IdBoleta)).ToList(); } else { IdsBoletasAportesPagadas = new int[1] { System.Web.Helpers.Json.Decode <int>(BoletasPagadas) }; ViewBag.BoletasAportesPagadas = IdsBoletasAportesPagadas; BoletasAportesPagadas = db.BoletaAportes.Where(x => IdsBoletasAportesPagadas.Contains(x.IdBoleta)).ToList(); } } decimal totalGlobal = 0; foreach (var boleta in BoletasAportesPagadas) { decimal total2 = (boleta.TotalSueldos / 100) * 2; decimal total5 = (boleta.TotalSueldosAfiliados / 100) * 5; if (boleta.BoletaPagada == false) { boleta.BoletaPagada = true; boleta.FechaPago = DateTime.Today; decimal mora = (boleta.RecargoMora != null) ? (decimal)boleta.RecargoMora : 0; boleta.TotalPagado = TruncateFunction(total2 + total5 + mora, 2); db.SaveChanges(); } } List <VmBoletaAportes> boletasDeAportes = new List <VmBoletaAportes>(); foreach (var boleta in BoletasAportesPagadas) { DeclaracionJurada declaracion = db.DeclaracionJurada.Find(boleta.IdDeclaracionJurada); var detalles = db.DetalleDeclaracionJurada.Where(x => x.IdDeclaracionJurada == declaracion.IdDeclaracionJurada).ToList(); decimal total2 = 0; decimal total5 = 0; decimal sueldos2 = 0, sueldos5 = 0; foreach (var detalle in detalles) { sueldos2 += detalle.Sueldo; var afiliado = db.Afiliado.Where(x => x.IdEmpleadoEmpresa == detalle.IdEmpleadoEmpresa).FirstOrDefault(); if (afiliado != null) { if (afiliado.FechaAlta.Year < declaracion.anio) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > declaracion.anio || (afiliado.FechaBaja.Value.Year == declaracion.anio && afiliado.FechaBaja.Value.Month >= declaracion.mes)) { sueldos5 += detalle.SueldoBase.Value; } } else if (afiliado.FechaAlta.Year == declaracion.anio && afiliado.FechaAlta.Month <= declaracion.mes) { if (afiliado.FechaBaja == null || afiliado.FechaBaja.Value.Year > declaracion.anio || (afiliado.FechaBaja.Value.Year == declaracion.anio && afiliado.FechaBaja.Value.Month >= declaracion.mes)) { sueldos5 += detalle.SueldoBase.Value; } } } } total2 = TruncateFunction((sueldos2 / 100) * 2, 2); total5 = TruncateFunction((sueldos5 / 100) * 5, 2); decimal mora = (boleta.RecargoMora != null) ? (decimal)boleta.RecargoMora : 0; boleta.TotalDepositado = TruncateFunction(total2 + total5 + mora, 2); totalGlobal += boleta.TotalPagado; boletasDeAportes.Add(new VmBoletaAportes() { IdDeclaracionJurada = boleta.IdDeclaracionJurada.ToString(), RazonSocial = boleta.DeclaracionJurada.Empresa.RazonSocial.ToString(), Cuit = boleta.DeclaracionJurada.Empresa.Cuit.ToString(), Mes = boleta.MesBoleta.ToString(), Anio = boleta.AnioBoleta.ToString(), CantEmpleados = detalles.Count().ToString(), TotalSueldos = sueldos2.ToString(), DosPorc = total2.ToString(), CantAfiliados = detalles.Where(x => x.EmpleadoEmpresa.EsAfiliado).Count().ToString(), TotalSueldosAfiliados = sueldos5.ToString(), CincoPorc = total5.ToString(), CantFamiliaresACargo = "", UnPorcFamiliaresACargo = "", RecargoPorMora = boleta.RecargoMora.ToString(), TotalDepositado = boleta.TotalPagado.ToString(), FechaPago = boleta.FechaPago.ToString() }); } ViewBag.TotalGlobal = totalGlobal; return(new ViewAsPdf(boletasDeAportes) { FileName = "Boletas-Aportes-Pagadas.pdf", PageOrientation = Rotativa.Options.Orientation.Landscape }); }
// 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 UploadFile(HttpPostedFileBase file, int mes, int anio) { var claim = ((ClaimsIdentity)User.Identity).FindFirst("IdEmpresa"); int IdEmpresa = Convert.ToInt32(claim.Value); int errorRenglon = 1; int idDeclaracion = 0; try { if (file != null && file.ContentLength > 0) { DeclaracionJurada ddjj = db.DeclaracionJurada.Where(x => x.idEmpresa == IdEmpresa && x.mes == mes && x.anio == anio).FirstOrDefault(); if (ddjj == null) { ddjj = new DeclaracionJurada(); ddjj.anio = anio; ddjj.mes = mes; ddjj.idEmpresa = IdEmpresa; ddjj.fecha = DateTime.Now; db.DeclaracionJurada.Add(ddjj); db.SaveChanges(); idDeclaracion = ddjj.IdDeclaracionJurada; bool error = false; List <string> rows = new List <string>(); List <DetalleDeclaracionJurada> detallesDeclaracionJurada = new List <DetalleDeclaracionJurada>(); StreamReader fileContent = new StreamReader(file.InputStream); do { rows.Add(fileContent.ReadLine()); }while (!fileContent.EndOfStream); foreach (var row in rows) { string[] detalles = row.Split(';'); if (detalles.Length == 4) { DetalleDeclaracionJurada detalle = new DetalleDeclaracionJurada(); detalle.IdDeclaracionJurada = idDeclaracion; EmpleadoEmpresa empEmp = new EmpleadoEmpresa(); string cuil = detalles[0]; Empleado emp = (from oEmpleado in db.Empleado join oEmpEmp in db.EmpleadoEmpresa on oEmpleado.IdEmpleado equals oEmpEmp.idEmpleado where oEmpEmp.idEmpresa == IdEmpresa && //oEmpEmp.FechaBaja == null && oEmpleado.Cuil == cuil select oEmpleado).FirstOrDefault(); if (emp != null) { empEmp = db.EmpleadoEmpresa.Where(x => x.idEmpleado == emp.IdEmpleado && x.idEmpresa == IdEmpresa & (x.FechaAlta.Year < ddjj.anio || (x.FechaAlta.Year == ddjj.anio && x.FechaAlta.Month <= ddjj.mes))) .FirstOrDefault(); if (emp == null || empEmp == null) { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Empleado no Encontrado!!"; error = true; break; } if (empEmp.FechaBaja != null && empEmp.FechaBaja.Value.Year < ddjj.anio) { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Empleado esta de baja!!"; error = true; break; } else if (empEmp.FechaBaja != null && empEmp.FechaBaja.Value.Year == ddjj.anio && empEmp.FechaBaja.Value.Month < ddjj.mes) { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Empleado esta de baja!!"; error = true; break; } } else { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Empleado no Encontrado!!"; error = true; break; } detalle.IdEmpleadoEmpresa = empEmp.idEmpleadoEmpresa; detalle.idCategoria = empEmp.IdCategoria; detalle.idJornadaLaboral = empEmp.IdJornada; if (int.TryParse(detalles[1], out int idliquidacion)) { detalle.IdLiquidacionProporcional = int.Parse(detalles[1]); } else { error = true; break; } decimal sueldo = 0; if (decimal.TryParse(detalles[2], out sueldo)) { if (comprobarSueldoBasico(empEmp.idEmpleadoEmpresa, detalle.IdDeclaracionJurada, decimal.Parse(detalles[2]))) { detalle.Sueldo = decimal.Parse(detalles[2]); } else { if (detalle.IdLiquidacionProporcional != 1) { detalle.Sueldo = decimal.Parse(detalles[2]); } else { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Sueldo 2% Menor al minimo, corrija el sueldo y vuelva a intentar!!"; error = true; break; } } } else { ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon + Environment.NewLine + "Sueldo 2% no Valido!!"; error = true; break; } decimal sueldoBase = 0; if (decimal.TryParse(detalles[3], out sueldoBase)) { detalle.SueldoBase = decimal.Parse(detalles[3]); } detallesDeclaracionJurada.Add(detalle); } else { error = true; } errorRenglon++; } if (error == false) { //db.DeclaracionJurada.Add(ddjj); //db.SaveChanges(); foreach (DetalleDeclaracionJurada detalle in detallesDeclaracionJurada) { detalle.IdDeclaracionJurada = ddjj.IdDeclaracionJurada; db.DetalleDeclaracionJurada.Add(detalle); db.SaveChanges(); var liquidacionProporcional = db.LiquidacionProporcionalEmpleado.Where(x => x.IdDetalleDeclaracionJurada == detalle.IdDetalleDeclaracionJurada).FirstOrDefault(); if (detalle.IdLiquidacionProporcional != null && detalle.IdLiquidacionProporcional != 1) { if (liquidacionProporcional != null) { if (liquidacionProporcional.IdLiquidacionProporcional != detalle.IdLiquidacionProporcional) { liquidacionProporcional.IdLiquidacionProporcional = (int)detalle.IdLiquidacionProporcional; } } else { db.LiquidacionProporcionalEmpleado.Add(new LiquidacionProporcionalEmpleado() { IdLiquidacionProporcional = (int)detalle.IdLiquidacionProporcional, IdDetalleDeclaracionJurada = detalle.IdDetalleDeclaracionJurada }); } } else { if (liquidacionProporcional != null) { db.LiquidacionProporcionalEmpleado.Remove(liquidacionProporcional); } } } db.SaveChanges(); ViewBag.Message = "Empleados Importados Correctamente!!"; return(View()); } else { //ViewBag.Message = (!string.IsNullOrEmpty(ViewBag.Message)) ? ViewBag.Message + "Error al importar la Declaracion Jurada!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon : "Error al importar la Declaracion Jurada!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon; //ViewBag.Message = "Error al importar los Empleados!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon; RollBackDeclaracion(idDeclaracion); return(View()); } } else { ViewBag.Message = "Ya existe una declaracion Jurada para la fecha Seleccionada!!"; RollBackDeclaracion(idDeclaracion); return(View()); } } else { ViewBag.Message = "Error, Archivo vacio o no valido!!"; RollBackDeclaracion(idDeclaracion); return(View()); } } catch (Exception e) { RollBackDeclaracion(idDeclaracion); ViewBag.Message = (!string.IsNullOrEmpty(ViewBag.Message)) ? ViewBag.Message + "Error al importar la Declaracion Jurada!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon : "Error al importar la Declaracion Jurada!!" + Environment.NewLine + "Error en el renglon Nro: " + errorRenglon; return(View()); } }