Esempio n. 1
0
        public ActionResult Create([Bind(Include = "Id,registro,rfc,nombre,actividad,domicilio,municipio,codigoPostal,entidad,telefono,remision,zona,delegacion,carEnt,numeroDelegacion,carDel,numSub,tipoConvenio,convenio,inicioAfiliacion,patRep,clase,fraccion,STyPS,Plaza_id,direccionArchivo")] Patrone patrone)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    patrone.nombre = patrone.nombre.ToUpper();
                    db.Patrones.Add(patrone);
                    db.SaveChanges();
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.Plaza_id = new SelectList(db.Plazas, "id", "descripcion", patrone.Plaza_id);
            return(View(patrone));
        }
Esempio n. 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            Patrone patrone = db.Patrones.Find(id);

            db.Patrones.Remove(patrone);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        // GET: Patrones/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Patrone patrone = db.Patrones.Find(id);

            if (patrone == null)
            {
                return(HttpNotFound());
            }
            return(View(patrone));
        }
Esempio n. 4
0
        // GET: Patrones/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Patrone patrone = db.Patrones.Find(id);

            if (patrone == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Plaza_id = new SelectList(db.Plazas, "id", "descripcion", patrone.Plaza_id);
            return(View(patrone));
        }
Esempio n. 5
0
 public ActionResult Edit([Bind(Include = "Id,registro,rfc,nombre,actividad,domicilio,municipio,codigoPostal,entidad,telefono,remision,zona,delegacion,carEnt,numeroDelegacion,carDel,numSub,tipoConvenio,convenio,inicioAfiliacion,patRep,clase,fraccion,STyPS,Plaza_id,direccionArchivo")] Patrone patrone)
 {
     if (ModelState.IsValid)
     {
         string value = Request["SampleChkIntBool"];
         if (value.Substring(0, 4) == "true")
         {
             patrone.direccionArchivo = patrone.registro;
         }
         else
         {
             patrone.direccionArchivo = null;
         }
         db.Entry(patrone).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Plaza_id = new SelectList(db.Plazas, "id", "descripcion", patrone.Plaza_id);
     return(View(patrone));
 }
Esempio n. 6
0
        public ActionResult Upload(String patronesId, String periodoId, String ejercicioId, String usuarioId)
        {
            if (!String.IsNullOrEmpty(patronesId) && !String.IsNullOrEmpty(periodoId) && !String.IsNullOrEmpty(ejercicioId) &&
                !String.IsNullOrEmpty(usuarioId))
            {
                int    userId  = int.Parse(usuarioId.Trim());
                String periodo = ejercicioId.Trim() + periodoId.Trim();
                int    mes     = int.Parse(periodoId.Trim());

                int     patronTemp = int.Parse(patronesId);
                Patrone patron     = db.Patrones.Find(patronTemp);
                String  path       = this.UploadFile(patron.direccionArchivo);

                bool esBimestral = ((mes % 2) == 0);

                if (!path.Equals(""))
                {
                    Boolean   existe    = false;
                    SUAHelper suaHelper = new SUAHelper(path);

                    String sSQL = "SELECT * FROM RESUMEN" +
                                  "  WHERE Reg_Patr = '" + patron.registro + "'" +
                                  "    AND Mes_Ano = '" + periodo + "'" +
                                  "   ORDER BY Reg_Patr";

                    DataTable dt2 = suaHelper.ejecutarSQL(sSQL);

                    foreach (DataRow rows in dt2.Rows)
                    {
                        Pago pago = new Pago();
                        pago = db.Pagos.Where(p => p.patronId.Equals(patron.Id) && p.mes.Trim().Equals(periodoId.Trim()) && p.anno.Trim().Equals(ejercicioId.Trim())).FirstOrDefault();
                        Boolean actualizar = false;

                        if (pago != null)
                        {
                            actualizar = true;
                        }
                        else
                        {
                            pago      = new Pago();
                            pago.mes  = periodoId;
                            pago.anno = ejercicioId;
                        }

                        pago.imss = Decimal.Parse(rows["CTA_FIJ"].ToString()) + Decimal.Parse(rows["CTA_EXC"].ToString()) +
                                    Decimal.Parse(rows["PRE_DIN"].ToString()) + Decimal.Parse(rows["PRE_ESP"].ToString()) +
                                    Decimal.Parse(rows["RIE_TRA"].ToString()) + Decimal.Parse(rows["INV_VID"].ToString()) +
                                    Decimal.Parse(rows["GUA_DER"].ToString());

                        pago.rcv = Decimal.Parse(rows["RET_SAR"].ToString()) + Decimal.Parse(rows["CEN_VEJPat"].ToString()) +
                                   Decimal.Parse(rows["Cen_VEJObr"].ToString());

                        pago.infonavit = Decimal.Parse(rows["VIV_SIN"].ToString()) + Decimal.Parse(rows["VIV_CON"].ToString()) +
                                         Decimal.Parse(rows["AMO_INF"].ToString());

                        pago.total = pago.imss + pago.rcv + pago.infonavit;

                        pago.recargos = Decimal.Parse(rows["REC_IMS"].ToString()) + Decimal.Parse(rows["REC_SAR"].ToString()) +
                                        Decimal.Parse(rows["REC_VIV"].ToString());

                        pago.actualizaciones = Decimal.Parse(rows["ACT_IMS"].ToString()) + Decimal.Parse(rows["ACT_SAR"].ToString()) +
                                               Decimal.Parse(rows["ACT_VIV"].ToString());

                        pago.granTotal = pago.recargos + pago.actualizaciones;

                        sSQL = "SELECT COUNT(*) FROM RELTRA" +
                               "  WHERE Reg_Pat = '" + patron.registro + "'" +
                               "    AND Periodo = '" + periodo + "'";

                        DataTable dt3 = suaHelper.ejecutarSQL(sSQL);

                        foreach (DataRow rows1 in dt3.Rows)
                        {
                            pago.nt = int.Parse(rows1[0].ToString());
                        }

                        if (pago.nt == 0)
                        {
                            break;
                        }

                        pago.patronId      = patron.Id;
                        pago.Patrone       = patron;
                        pago.fechaCreacion = DateTime.Now;
                        pago.usuarioId     = userId;

                        //                       Guardamos el pago.
                        if (actualizar)
                        {
                            db.Entry(pago).State = EntityState.Modified;
                        }
                        else
                        {
                            db.Pagos.Add(pago);
                        }
                        db.SaveChanges();
                        existe = true;

                        if (existe)
                        {
                            //Preparamos el query del resúmen
                            sSQL = "SELECT * FROM RELTRA " +
                                   "  WHERE Reg_Pat = '" + patron.registro + "'" +
                                   "    AND Periodo = '" + periodo + "'" +
                                   "   ORDER BY Reg_Pat";

                            DataTable dt4 = suaHelper.ejecutarSQL(sSQL);

                            foreach (DataRow row2 in dt4.Rows)
                            {
                                Boolean actualizarDetalle = false;

                                DetallePago detallePago = new DetallePago();
                                String      nss         = row2["Num_Afi"].ToString().Trim();

                                Asegurado asegurado = db.Asegurados.Where(a => a.numeroAfiliacion.Equals(nss.Trim())).FirstOrDefault();

                                detallePago = db.DetallePagoes.Where(dp => dp.pagoId.Equals(pago.id) && dp.aseguradoId.Equals(asegurado.id)).FirstOrDefault();

                                if (detallePago != null)
                                {
                                    actualizarDetalle = true;
                                }
                                else
                                {
                                    detallePago             = new DetallePago();
                                    detallePago.pagoId      = pago.id;
                                    detallePago.Pago        = pago;
                                    detallePago.aseguradoId = asegurado.id;
                                    detallePago.Asegurado   = asegurado;
                                    detallePago.patronId    = patron.Id;
                                    detallePago.Patrone     = patron;
                                }
                                detallePago.diasCotizados = int.Parse(row2["dia_cot"].ToString().Trim());
                                detallePago.sdi           = decimal.Parse(row2["sal_dia"].ToString().Trim());

                                if (String.IsNullOrEmpty(row2["Dia_Inc"].ToString()))
                                {
                                    detallePago.diasIncapacidad = 0;
                                }
                                else
                                {
                                    detallePago.diasIncapacidad = int.Parse(row2["Dia_Inc"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["Dia_Aus"].ToString()))
                                {
                                    detallePago.diasAusentismo = 0;
                                }
                                else
                                {
                                    detallePago.diasAusentismo = int.Parse(row2["Dia_Aus"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["CF"].ToString()))
                                {
                                    detallePago.cuotaFija = 0;
                                }
                                else
                                {
                                    detallePago.cuotaFija = decimal.Parse(row2["CF"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["EXPA"].ToString()))
                                {
                                    detallePago.expa = 0;
                                }
                                else
                                {
                                    detallePago.expa = decimal.Parse(row2["EXPA"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["EXO"].ToString()))
                                {
                                    detallePago.exO = 0;
                                }
                                else
                                {
                                    detallePago.exO = decimal.Parse(row2["EXO"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["PDP"].ToString()))
                                {
                                    detallePago.pdp = 0;
                                }
                                else
                                {
                                    detallePago.pdp = decimal.Parse(row2["PDP"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["PDO"].ToString()))
                                {
                                    detallePago.pdo = 0;
                                }
                                else
                                {
                                    detallePago.pdo = decimal.Parse(row2["PDO"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["GMPP"].ToString()))
                                {
                                    detallePago.gmpp = 0;
                                }
                                else
                                {
                                    detallePago.gmpp = decimal.Parse(row2["GMPP"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["GMPO"].ToString()))
                                {
                                    detallePago.gmpo = 0;
                                }
                                else
                                {
                                    detallePago.gmpo = decimal.Parse(row2["GMPO"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["RT"].ToString()))
                                {
                                    detallePago.rt = 0;
                                }
                                else
                                {
                                    detallePago.rt = decimal.Parse(row2["RT"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["IVP"].ToString()))
                                {
                                    detallePago.ivp = 0;
                                }
                                else
                                {
                                    detallePago.ivp = decimal.Parse(row2["IVP"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["IVO"].ToString()))
                                {
                                    detallePago.ivo = 0;
                                }
                                else
                                {
                                    detallePago.ivo = decimal.Parse(row2["IVO"].ToString().Trim());
                                }

                                if (String.IsNullOrEmpty(row2["GPS"].ToString()))
                                {
                                    detallePago.gps = 0;
                                }
                                else
                                {
                                    detallePago.gps = decimal.Parse(row2["GPS"].ToString().Trim());
                                }

                                detallePago.patronal = detallePago.cuotaFija + detallePago.expa + detallePago.pdp + detallePago.gmpp + detallePago.rt + detallePago.ivp + detallePago.gps;
                                detallePago.obrera   = detallePago.exO + detallePago.pdo + detallePago.gmpo + detallePago.ivo;
                                detallePago.imss     = detallePago.patronal + detallePago.obrera;

                                if (esBimestral)
                                {
                                    // Se guardan los datos bimestrales.
                                    sSQL = "SELECT * FROM RELTRABIM " +
                                           "  WHERE Reg_Pat = '" + patron.registro + "'" +
                                           "    AND Periodo = '" + periodo + "'" +
                                           "    AND Num_Afi = '" + asegurado.numeroAfiliacion.Trim() + "'" +
                                           "   ORDER BY Reg_Pat";

                                    DataTable dt5 = suaHelper.ejecutarSQL(sSQL);

                                    foreach (DataRow row5 in dt5.Rows)
                                    {
                                        if (String.IsNullOrEmpty(row5["Retiro"].ToString()))
                                        {
                                            detallePago.retiro = 0;
                                        }
                                        else
                                        {
                                            detallePago.retiro = decimal.Parse(row5["Retiro"].ToString().Trim());
                                        }
                                        if (String.IsNullOrEmpty(row5["CyVP"].ToString()))
                                        {
                                            detallePago.patronalBimestral = 0;
                                        }
                                        else
                                        {
                                            detallePago.patronalBimestral = decimal.Parse(row5["CyVP"].ToString().Trim());
                                        }
                                        if (String.IsNullOrEmpty(row5["CyVO"].ToString()))
                                        {
                                            detallePago.obreraBimestral = 0;
                                        }
                                        else
                                        {
                                            detallePago.obreraBimestral = decimal.Parse(row5["CyVO"].ToString().Trim());
                                        }

                                        detallePago.rcv = detallePago.retiro + detallePago.patronal + detallePago.obrera;

                                        if (String.IsNullOrEmpty(row5["Aportasc"].ToString()))
                                        {
                                            detallePago.aportacionsc = 0;
                                        }
                                        else
                                        {
                                            detallePago.aportacionsc = decimal.Parse(row5["Aportasc"].ToString().Trim());
                                        }
                                        if (String.IsNullOrEmpty(row5["Aportacc"].ToString()))
                                        {
                                            detallePago.aportacioncc = 0;
                                        }
                                        else
                                        {
                                            detallePago.aportacioncc = decimal.Parse(row5["Aportacc"].ToString().Trim());
                                        }
                                        if (String.IsNullOrEmpty(row5["Amortiza"].ToString()))
                                        {
                                            detallePago.amortizacion = 0;
                                        }
                                        else
                                        {
                                            detallePago.amortizacion = decimal.Parse(row5["Amortiza"].ToString().Trim());
                                        }

                                        detallePago.infonavit = detallePago.aportacionsc + detallePago.aportacioncc + detallePago.amortizacion;
                                    }
                                } //El periodo es bimestre

                                detallePago.usuarioId     = userId;
                                detallePago.fechaCreacion = DateTime.Now;

                                try
                                {
                                    if (actualizarDetalle)
                                    {
                                        db.Entry(detallePago).State = EntityState.Modified;
                                    }
                                    else
                                    {
                                        db.DetallePagoes.Add(detallePago);
                                    }

                                    db.SaveChanges();
                                }
                                catch (DbEntityValidationException ex)
                                {
                                    StringBuilder sb = new StringBuilder();

                                    foreach (var failure in ex.EntityValidationErrors)
                                    {
                                        sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType());
                                        foreach (var error in failure.ValidationErrors)
                                        {
                                            sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                                            sb.AppendLine();
                                        }
                                    }
                                }
                            }
                        }
                    }
//                    path = path + "\\SUA.mdb";
//                    System.IO.File.Delete(path);
                }
            }
            return(RedirectToAction("UploadPagos"));
        }