Beispiel #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            BoletaAportes boletaAportes = db.BoletaAportes.Find(id);

            db.BoletaAportes.Remove(boletaAportes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
 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));
 }
Beispiel #3
0
        // 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));
        }
Beispiel #4
0
        // 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));
        }
Beispiel #5
0
        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 }));
        }
Beispiel #6
0
        // 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));
        }
Beispiel #7
0
        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());
        }
Beispiel #8
0
        // 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));
        }
Beispiel #9
0
        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));
        }