Exemplo n.º 1
0
        public ActionResult Archivo_Crear(HttpPostedFileBase[] ArchivosPosteados, int Tipo)
        {
            if (Tipo == 1)
            {
                if (ArchivosPosteados.Length > 0 &&
                    ArchivosPosteados[0].ContentLength > 0)
                {
                    ArchivoAutoahorro archivoAutoahorro = new ArchivoAutoahorro();

                    archivoAutoahorro.NombreArchivo = ArchivosPosteados[0].FileName;
                    archivoAutoahorro.FechaAlta     = DateTime.Now;
                    archivoAutoahorro.Activo        = true;
                    int i = 0;

                    //string sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                    //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);

                    IList <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                    listaAutoahorro = HelperWeb.Parseo.ParseoOfertas(ArchivosPosteados[0].InputStream, ref archivoAutoahorro);

                    DateTime inicio, fin;

                    inicio = DateTime.Now;

                    try
                    {
                        if (listaAutoahorro != null)
                        {
                            ServicioSistema <AutoahorroDato> .BeginTransaction();

                            archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                            //foreach (AutoahorroDato dato in listaAutoahorro.Where(aad => ((AutoahorroOferta)aad).Concesionario == "01411").ToList())
                            foreach (AutoahorroDato dato in listaAutoahorro)
                            {
                                dato.ArchivoAutoahorro = archivoAutoahorro;
                                ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                                if (++i % 500 == 0)
                                {
                                    ServicioSistema <AutoahorroDato> .Flush();
                                }
                            }

                            archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                            ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                            ServicioSistema <AutoahorroDato> .CommitTransaction();
                        }
                        else
                        {
                            throw new ApplicationException("Error en el archivo de ofertas.");
                        }
                    }
                    catch (Exception ex)
                    {
                        ServicioSistema <AutoahorroDato> .RollbackTransaction();

                        throw ex;
                    }

                    fin = DateTime.Now;
                }
            }
            else if (Tipo == 2)
            {
                if (ArchivosPosteados.Length > 0 &&
                    ArchivosPosteados[0].ContentLength > 0)
                {
                    ArchivoAutoahorro archivoAutoahorro = new ArchivoAutoahorro();

                    archivoAutoahorro.NombreArchivo = ArchivosPosteados[0].FileName;
                    archivoAutoahorro.FechaAlta     = DateTime.Now;
                    archivoAutoahorro.Activo        = true;
                    int i = 0;

                    //string sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                    //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);

                    List <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                    listaAutoahorro = HelperWeb.Parseo.ParseoEmisiones(ArchivosPosteados[0].InputStream, ref archivoAutoahorro);

                    try
                    {
                        if (listaAutoahorro != null)
                        {
                            ServicioSistema <AutoahorroDato> .BeginTransaction();

                            foreach (AutoahorroDato dato in listaAutoahorro)
                            {
                                dato.ArchivoAutoahorro = archivoAutoahorro;
                                ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                                if (++i % 500 == 0)
                                {
                                    ServicioSistema <AutoahorroDato> .Flush();
                                }
                            }

                            archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                            ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                            ServicioSistema <AutoahorroDato> .CommitTransaction();
                        }
                        else
                        {
                            throw new ApplicationException("Error en el archivo de emisiones.");
                        }
                    }
                    catch (Exception ex)
                    {
                        ServicioSistema <AutoahorroDato> .RollbackTransaction();

                        throw ex;
                    }
                }
            }
            else if (Tipo == 3)
            {
                if (ArchivosPosteados.Length > 0 &&
                    ArchivosPosteados[0].ContentLength > 0)
                {
                    ArchivoAutoahorro archivoAutoahorro = new ArchivoAutoahorro();

                    archivoAutoahorro.NombreArchivo = ArchivosPosteados[0].FileName;
                    archivoAutoahorro.FechaAlta     = DateTime.Now;
                    archivoAutoahorro.Activo        = true;
                    int i = 0;

                    //string sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                    //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);


                    IList <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                    listaAutoahorro = HelperWeb.Parseo.ParseoGanadores(ArchivosPosteados[0].InputStream, ref archivoAutoahorro);

                    try
                    {
                        ServicioSistema <AutoahorroDato> .BeginTransaction();

                        foreach (AutoahorroDato dato in listaAutoahorro.Where(aad => ((AutoahorroGanador)aad).Concesionario == "01411").ToList())
                        {
                            dato.ArchivoAutoahorro = archivoAutoahorro;
                            ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                            if (++i % 500 == 0)
                            {
                                ServicioSistema <AutoahorroDato> .Flush();
                            }
                        }

                        archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                        ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                        ServicioSistema <AutoahorroDato> .CommitTransaction();

                        //litCantidadGanadores.Text = string.Format("{0} ganadores cargados", listaAutoahorro.Count);
                    }
                    catch (Exception ex)
                    {
                        ServicioSistema <AutoahorroDato> .RollbackTransaction();

                        throw ex;
                    }
                }
            }

            return(RedirectToAction("ListarArchivos", new { Tipo = Tipo }));
        }
Exemplo n.º 2
0
        public ActionResult CargaArchivos(Matassi.Web.Areas.Admin.Models.ArchivosAutoahorro archivosAutoahorro)
        {
            //Proceso Ofertas de Autoahorro
            ArchivoAutoahorro archivoAutoahorro;
            string            sql;

            if (archivosAutoahorro.ArchivoOfertas != null && archivosAutoahorro.ArchivoOfertas.ContentLength > 0)
            {
                archivoAutoahorro = new ArchivoAutoahorro();

                archivoAutoahorro.NombreArchivo = archivosAutoahorro.ArchivoOfertas.FileName;
                archivoAutoahorro.FechaAlta     = DateTime.Now;
                archivoAutoahorro.Activo        = true;
                int i = 0;

                //sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);

                IList <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                listaAutoahorro = HelperWeb.Parseo.ParseoOfertas(archivosAutoahorro.ArchivoOfertas.InputStream, ref archivoAutoahorro);

                try
                {
                    if (listaAutoahorro != null)
                    {
                        ServicioSistema <AutoahorroDato> .BeginTransaction();

                        archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                        foreach (AutoahorroDato dato in listaAutoahorro)
                        {
                            dato.ArchivoAutoahorro = archivoAutoahorro;
                            ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                            if (++i % 20 == 0)
                            {
                                ServicioSistema <AutoahorroDato> .Flush();
                            }
                        }

                        archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                        ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                        ServicioSistema <AutoahorroDato> .CommitTransaction();
                    }
                    else
                    {
                        throw new ApplicationException("Error en el archivo de ofertas.");
                    }
                }
                catch (Exception ex)
                {
                    ServicioSistema <AutoahorroDato> .RollbackTransaction();

                    throw ex;
                }
            }

            if (archivosAutoahorro.ArchivoEmisiones != null && archivosAutoahorro.ArchivoEmisiones.ContentLength > 0)
            {
                archivoAutoahorro = new ArchivoAutoahorro();

                archivoAutoahorro.NombreArchivo = archivosAutoahorro.ArchivoEmisiones.FileName;
                archivoAutoahorro.FechaAlta     = DateTime.Now;
                archivoAutoahorro.Activo        = true;
                int i = 0;

                //sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);

                List <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                listaAutoahorro = HelperWeb.Parseo.ParseoEmisiones(archivosAutoahorro.ArchivoEmisiones.InputStream, ref archivoAutoahorro);

                try
                {
                    ServicioSistema <AutoahorroDato> .BeginTransaction();

                    foreach (AutoahorroDato dato in listaAutoahorro)
                    {
                        dato.ArchivoAutoahorro = archivoAutoahorro;
                        ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                        if (++i % 20 == 0)
                        {
                            ServicioSistema <AutoahorroDato> .Flush();
                        }
                    }

                    archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                    ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                    ServicioSistema <AutoahorroDato> .CommitTransaction();

                    //litCantidadEmisiones.Text = string.Format("{0} emisiones cargadas", listaAutoahorro.Count);
                }
                catch (Exception ex)
                {
                    ServicioSistema <AutoahorroDato> .RollbackTransaction();

                    throw ex;
                }
            }

            if (archivosAutoahorro.ArchivoGanadores != null && archivosAutoahorro.ArchivoGanadores.ContentLength > 0)
            {
                archivoAutoahorro = new ArchivoAutoahorro();

                archivoAutoahorro.NombreArchivo = archivosAutoahorro.ArchivoGanadores.FileName;
                archivoAutoahorro.FechaAlta     = DateTime.Now;
                archivoAutoahorro.Activo        = true;
                int i = 0;

                //sql = string.Format("exec BuscarArchivoYBorrarlo @archivo = '{0}'", archivoAutoahorro.NombreArchivo);
                //ServicioSistema<ArchivoAutoahorro>.ExecuteSQLQueryUniqueResult(sql);


                IList <AutoahorroDato> listaAutoahorro = new List <AutoahorroDato>();
                listaAutoahorro = HelperWeb.Parseo.ParseoGanadores(archivosAutoahorro.ArchivoGanadores.InputStream, ref archivoAutoahorro);

                try
                {
                    ServicioSistema <AutoahorroDato> .BeginTransaction();

                    foreach (AutoahorroDato dato in listaAutoahorro)
                    {
                        dato.ArchivoAutoahorro = archivoAutoahorro;
                        ServicioSistema <AutoahorroDato> .SaveOrUpdateWithoutFlush(dato);

                        if (++i % 20 == 0)
                        {
                            ServicioSistema <AutoahorroDato> .Flush();
                        }
                    }

                    archivoAutoahorro.CantidadRegistros = listaAutoahorro.Count;
                    ServicioSistema <ArchivoAutoahorro> .SaveOrUpdate(archivoAutoahorro);

                    ServicioSistema <AutoahorroDato> .CommitTransaction();

                    //litCantidadGanadores.Text = string.Format("{0} ganadores cargados", listaAutoahorro.Count);
                }
                catch (Exception ex)
                {
                    ServicioSistema <AutoahorroDato> .RollbackTransaction();

                    throw ex;
                }
            }

            ObtenerArchivosCargados();


            return(View());
        }