Пример #1
0
        public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
        {
            #region Variables
            fa_cliente_tipo_List                            ListaClienteTipo          = new fa_cliente_tipo_List();
            List <fa_cliente_tipo_Info>                     Lista_ClienteTipo         = new List <fa_cliente_tipo_Info>();
            fa_cliente_List                                 ListaCliente              = new fa_cliente_List();
            List <fa_cliente_Info>                          Lista_Cliente             = new List <fa_cliente_Info>();
            fa_cliente_contactos_List                       List_fa_cliente_contactos = new fa_cliente_contactos_List();
            List <fa_cliente_contactos_Info>                Lista_ClienteContactos    = new List <fa_cliente_contactos_Info>();
            fa_cliente_x_fa_Vendedor_x_sucursal_list        List_fa_cliente_x_fa_Vendedor_x_sucursal = new fa_cliente_x_fa_Vendedor_x_sucursal_list();
            List <fa_cliente_x_fa_Vendedor_x_sucursal_Info> Lista_ClienteVendedor = new List <fa_cliente_x_fa_Vendedor_x_sucursal_Info>();

            tb_persona_Bus bus_persona = new tb_persona_Bus();

            int     cont = 0;
            decimal IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual);
            int     IdEmpresa            = Convert.ToInt32(SessionFixed.IdEmpresa);
            #endregion

            Stream stream = new MemoryStream(e.UploadedFile.FileBytes);
            if (stream.Length > 0)
            {
                IExcelDataReader reader = null;
                reader = ExcelReaderFactory.CreateOpenXmlReader(stream);

                #region ClienteTipo
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        fa_cliente_tipo_Info info = new fa_cliente_tipo_Info
                        {
                            IdEmpresa               = IdEmpresa,
                            Idtipo_cliente          = Convert.ToInt32(reader.GetValue(0)),
                            Cod_cliente_tipo        = Convert.ToString(reader.GetValue(1)),
                            Descripcion_tip_cliente = Convert.ToString(reader.GetValue(2)),
                            IdCtaCble_CXC_Cred      = Convert.ToString(reader.GetValue(3)),
                            IdUsuario               = SessionFixed.IdUsuario
                        };
                        Lista_ClienteTipo.Add(info);
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaClienteTipo.set_list(Lista_ClienteTipo, IdTransaccionSession);
                #endregion

                cont = 0;
                //Para avanzar a la siguiente hoja de excel
                reader.NextResult();

                #region Cliente
                var lst_persona = bus_persona.get_list(false);

                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        var             return_naturaleza    = "";
                        var             cedula_ruc           = (Convert.ToString(reader.GetValue(3))).Trim();
                        tb_persona_Info info_persona         = new tb_persona_Info();
                        tb_persona_Info info_persona_cliente = new tb_persona_Info();

                        info_persona         = lst_persona.Where(q => q.pe_cedulaRuc == cedula_ruc).FirstOrDefault();
                        info_persona_cliente = info_persona;

                        if (cl_funciones.ValidaIdentificacion(Convert.ToString(reader.GetValue(2)), Convert.ToString(reader.GetValue(4)), cedula_ruc, ref return_naturaleza))
                        {
                            if (info_persona == null)
                            {
                                tb_persona_Info info_ = new tb_persona_Info
                                {
                                    pe_Naturaleza       = Convert.ToString(reader.GetValue(4)),
                                    pe_nombreCompleto   = Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)),
                                    pe_razonSocial      = Convert.ToString(reader.GetValue(5)),
                                    pe_apellido         = Convert.ToString(reader.GetValue(6)),
                                    pe_nombre           = Convert.ToString(reader.GetValue(7)),
                                    IdTipoDocumento     = Convert.ToString(reader.GetValue(2)),
                                    pe_cedulaRuc        = cedula_ruc,
                                    pe_direccion        = Convert.ToString(reader.GetValue(9)),
                                    pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)),
                                    pe_celular          = Convert.ToString(reader.GetValue(11)),
                                    pe_correo           = Convert.ToString(reader.GetValue(8)),
                                };
                                info_persona_cliente = info_;
                            }
                            else
                            {
                                info_persona_cliente = bus_persona.get_info(info_persona.IdPersona);
                                var x = Convert.ToString(reader.GetValue(4));
                                info_persona_cliente.pe_Naturaleza       = x;
                                info_persona_cliente.pe_nombreCompleto   = Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7));
                                info_persona_cliente.pe_razonSocial      = Convert.ToString(reader.GetValue(5));
                                info_persona_cliente.pe_apellido         = Convert.ToString(reader.GetValue(6));
                                info_persona_cliente.pe_nombre           = Convert.ToString(reader.GetValue(7));
                                info_persona_cliente.IdTipoDocumento     = Convert.ToString(reader.GetValue(2));
                                info_persona_cliente.pe_cedulaRuc        = cedula_ruc;
                                info_persona_cliente.pe_direccion        = Convert.ToString(reader.GetValue(9));
                                info_persona_cliente.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10));
                                info_persona_cliente.pe_celular          = Convert.ToString(reader.GetValue(11));
                                info_persona_cliente.pe_correo           = Convert.ToString(reader.GetValue(8));
                            }

                            info_persona_cliente.pe_Naturaleza     = return_naturaleza;
                            info_persona_cliente.pe_nombreCompleto = (info_persona_cliente.pe_razonSocial != "" ? info_persona_cliente.pe_razonSocial : (info_persona_cliente.pe_apellido + ' ' + info_persona.pe_nombre));

                            var             CtaCbleClase = Lista_ClienteTipo.Where(q => q.Idtipo_cliente == Convert.ToInt32(reader.GetValue(13))).FirstOrDefault();
                            fa_cliente_Info info         = new fa_cliente_Info
                            {
                                IdEmpresa              = IdEmpresa,
                                IdPersona              = info_persona_cliente.IdPersona,
                                IdCliente              = Convert.ToInt32(reader.GetValue(0)),
                                Codigo                 = Convert.ToString(reader.GetValue(1)),
                                Idtipo_cliente         = Convert.ToInt32(reader.GetValue(13)),
                                cl_plazo               = Convert.ToInt32(reader.GetValue(15)),
                                cl_Cupo                = Convert.ToDouble(reader.GetValue(16)),
                                IdCtaCble_cxc_Credito  = CtaCbleClase == null ? null: CtaCbleClase.IdCtaCble_CXC_Cred,
                                es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false,
                                EsClienteExportador    = false,
                                IdNivel                = 1,
                                IdTipoCredito          = "CON",
                                FormaPago              = "01",
                                IdUsuario              = SessionFixed.IdUsuario,
                                IdCiudad               = Convert.ToString(reader.GetValue(18)),
                                IdParroquia            = Convert.ToString(reader.GetValue(19)),
                                Celular                = Convert.ToString(reader.GetValue(11)),
                                Correo                 = Convert.ToString(reader.GetValue(8)),
                                Direccion              = Convert.ToString(reader.GetValue(9)),
                                Telefono               = Convert.ToString(reader.GetValue(10))
                            };

                            fa_cliente_contactos_Info info_cliente_contacto = new fa_cliente_contactos_Info
                            {
                                IdEmpresa   = IdEmpresa,
                                IdContacto  = 1,
                                IdCiudad    = Convert.ToString(reader.GetValue(18)),
                                IdParroquia = Convert.ToString(reader.GetValue(19)),
                                Celular     = Convert.ToString(reader.GetValue(11)),
                                Correo      = Convert.ToString(reader.GetValue(8)),
                                Direccion   = Convert.ToString(reader.GetValue(9)),
                                Nombres     = (Convert.ToString(reader.GetValue(4)) == "NATU") ? Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)) : Convert.ToString(reader.GetValue(5)),
                                Telefono    = Convert.ToString(reader.GetValue(10)),
                            };

                            info.lst_fa_cliente_contactos = new List <fa_cliente_contactos_Info>();
                            info.lst_fa_cliente_contactos.Add(info_cliente_contacto);
                            info.Lst_fa_cliente_x_fa_Vendedor_x_sucursal = new List <fa_cliente_x_fa_Vendedor_x_sucursal_Info>();
                            info.info_persona = info_persona_cliente;

                            if (Lista_Cliente.Where(q => q.info_persona.pe_cedulaRuc == info_persona_cliente.pe_cedulaRuc).Count() == 0)
                            {
                                Lista_Cliente.Add(info);
                            }
                        }
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaCliente.set_list(Lista_Cliente, IdTransaccionSession);
                #endregion
            }
        }