Exemple #1
0
        public ActionResult Upload()
        {
            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];
                if (file != null && file.ContentLength > 0)
                {
                    //string path = "consolidado_" + DateTime.Now.ToLongDateString() + DateTime.Now.ToShortTimeString() + ".xlsx";
                    var filename = Path.GetFileName(file.FileName);

                    var path = Path.Combine(Server.MapPath("~/Files/Consolidado/"), filename);
                    file.SaveAs(path);

                    SLDocument sL    = new SLDocument(path);
                    int        lotes = 3000;
                    using (var db = new EntitiesMKT())
                    {
                        int iRow = 2;
                        while (!string.IsNullOrEmpty(sL.GetCellValueAsString(iRow, 2)))
                        {
                            Diario diario = new Diario();
                            diario.ICC                      = sL.GetCellValueAsString(iRow, 2);
                            diario.DN                       = sL.GetCellValueAsString(iRow, 3);
                            diario.USUARIO                  = sL.GetCellValueAsString(iRow, 4);
                            diario.NOMBRE_CLIENTE           = sL.GetCellValueAsString(iRow, 5);
                            diario.FECHA_INICIO             = sL.GetCellValueAsDateTime(iRow, 6);//
                            diario.CODIGO_NOMINA_PROMOTOR   = sL.GetCellValueAsString(iRow, 7);
                            diario.NOMBRE_PROMOTOR          = sL.GetCellValueAsString(iRow, 8);
                            diario.CODIGO_NOMINA_GERENTE    = sL.GetCellValueAsString(iRow, 9);
                            diario.ESTATUS                  = sL.GetCellValueAsString(iRow, 11);
                            diario.FECHA_ESTATUS            = sL.GetCellValueAsDateTime(iRow, 12);//
                            diario.OPERADOR_ORIGEN          = sL.GetCellValueAsString(iRow, 13);
                            diario.OPERADOR_DESTINO         = sL.GetCellValueAsString(iRow, 14);
                            diario.INTERCONEXION            = sL.GetCellValueAsString(iRow, 15);
                            diario.NUMERO_FOLIO_ABD         = sL.GetCellValueAsString(iRow, 21);
                            diario.ESTADO                   = sL.GetCellValueAsString(iRow, 23);
                            diario.APP_ITX                  = sL.GetCellValueAsString(iRow, 26);
                            diario.VALIDACION_INTERCONEXION = sL.GetCellValueAsString(iRow, 27);
                            diario.FECHA_RECARGA            = sL.GetCellValueAsDateTime(iRow, 28);//
                            diario.NO_RECARGA               = sL.GetCellValueAsInt32(iRow, 29);

                            db.Diario.Add(diario);
                            if (iRow % lotes == 0)
                            {
                                db.SaveChanges();
                            }

                            iRow++;
                        }

                        db.SaveChanges();
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
Exemple #2
0
        public ActionResult Upload()
        {
            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];
                if (file != null && file.ContentLength > 0)
                {
                    //string path = "consolidado_" + DateTime.Now.ToLongDateString() + DateTime.Now.ToShortTimeString() + ".xlsx";
                    var filename = Path.GetFileName(file.FileName);

                    var path = Path.Combine(Server.MapPath("~/Files/SIM/"), filename);
                    file.SaveAs(path);

                    SLDocument sL    = new SLDocument(path);
                    int        lotes = 3000;

                    List <DO_Gerente> ListaGerentes = DataManager.GetAllGerentes();
                    string            simactual     = string.Empty;
                    bool primer  = false;
                    bool segundo = false;
                    try
                    {
                        using (var db = new EntitiesMKT())
                        {
                            //Agregamos los sims.
                            int    row  = 2;
                            string aux  = string.Empty;
                            int    aux1 = 0;
                            while (!string.IsNullOrWhiteSpace(sL.GetCellValueAsString(row, 2)))
                            {
                                SIMS sim = new SIMS();

                                string codigoNominaOperador = sL.GetCellValueAsString(row, 3);
                                aux = codigoNominaOperador;

                                int idOperador = ListaGerentes.Where(x => x.CodigoNomina == codigoNominaOperador).FirstOrDefault().IdGerente;
                                aux1 = idOperador;

                                sim.ID_OPERADOR = idOperador;

                                sim.SIM = sL.GetCellValueAsString(row, 4);

                                simactual = sim.SIM;

                                db.SIMS.Add(sim);
                                if (row % lotes == 0)
                                {
                                    db.SaveChanges();
                                }

                                row++;
                            }

                            primer = true;

                            db.SaveChanges();

                            List <DO_SIM> ListaSIM = DataManager.GetAllSIM("", "");
                            //Agregamos la relacion SIM-GERENTE.
                            row = 2;

                            while (!string.IsNullOrWhiteSpace(sL.GetCellValueAsString(row, 2)))
                            {
                                SIMS_GERENTE sIMS_GERENTE         = new SIMS_GERENTE();
                                string       codigoNominaOperador = sL.GetCellValueAsString(row, 3);
                                string       codigoNominaGerente  = sL.GetCellValueAsString(row, 5);
                                string       sim = sL.GetCellValueAsString(row, 4);

                                int idOperador = ListaGerentes.Where(x => x.CodigoNomina == codigoNominaOperador).FirstOrDefault().IdGerente;
                                int idGerente  = ListaGerentes.Where(x => x.CodigoNomina == codigoNominaGerente).FirstOrDefault().IdGerente;
                                if (idGerente != 0)
                                {
                                    DateTime fechaPedido  = sL.GetCellValueAsDateTime(row, 7);
                                    DateTime fechaEntrega = sL.GetCellValueAsDateTime(row, 8);

                                    sIMS_GERENTE.FECHA_ENTREGA   = fechaEntrega;
                                    sIMS_GERENTE.FECHA_SOLICITUD = fechaPedido;
                                    sIMS_GERENTE.ID_GERENTE      = idGerente;
                                    int idSim = GetId(ListaSIM, sim);

                                    sIMS_GERENTE.ID_SIM = idSim;

                                    simactual = sim;
                                    db.SIMS_GERENTE.Add(sIMS_GERENTE);

                                    if (row % lotes == 0)
                                    {
                                        db.SaveChanges();
                                    }
                                }

                                row++;
                            }
                            segundo = true;
                            db.SaveChanges();
                        }
                    }
                    catch (Exception er)
                    {
                        simactual = simactual + "";
                        throw;
                    }
                }
            }

            return(RedirectToAction("Upload"));
        }