示例#1
0
        public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e)
        {
            #region Variables
            cp_proveedor_List              ListaProveedor       = new cp_proveedor_List();
            List <cp_proveedor_Info>       Lista_Proveedor      = new List <cp_proveedor_Info>();
            cp_proveedor_clase_List        ListaClaseProveedor  = new cp_proveedor_clase_List();
            List <cp_proveedor_clase_Info> Lista_ClaseProveedor = new List <cp_proveedor_clase_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 ClaseProveedor
                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        cp_proveedor_clase_Info info = new cp_proveedor_clase_Info
                        {
                            IdEmpresa              = IdEmpresa,
                            IdClaseProveedor       = Convert.ToInt32(reader.GetValue(0)),
                            cod_clase_proveedor    = Convert.ToString(reader.GetValue(1)),
                            descripcion_clas_prove = Convert.ToString(reader.GetValue(2)),
                            IdCtaCble_gasto        = null, //Convert.ToString(reader.GetValue(3)),
                            IdCtaCble_CXP          = null, //Convert.ToString(reader.GetValue(4)),
                            IdUsuario              = SessionFixed.IdUsuario
                        };
                        Lista_ClaseProveedor.Add(info);
                    }
                    else
                    {
                        cont++;
                    }
                }
                ListaClaseProveedor.set_list(Lista_ClaseProveedor, IdTransaccionSession);
                #endregion

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

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

                while (reader.Read())
                {
                    if (!reader.IsDBNull(0) && cont > 0)
                    {
                        var cedula_ruc = (Convert.ToString(reader.GetValue(3))).Trim();

                        tb_persona_Info info_persona      = new tb_persona_Info();
                        tb_persona_Info info_persona_prov = new tb_persona_Info();
                        var             return_naturaleza = "";
                        info_persona      = lst_persona.Where(q => q.pe_cedulaRuc.Trim() == cedula_ruc.Trim()).FirstOrDefault();
                        info_persona_prov = 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(5)),
                                    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_prov = info_;
                            }
                            else
                            {
                                info_persona_prov = bus_persona.get_info(info_persona.IdPersona);

                                info_persona_prov.pe_Naturaleza       = Convert.ToString(reader.GetValue(4));
                                info_persona_prov.pe_nombreCompleto   = Convert.ToString(reader.GetValue(5));
                                info_persona_prov.pe_razonSocial      = Convert.ToString(reader.GetValue(5));
                                info_persona_prov.pe_apellido         = Convert.ToString(reader.GetValue(6));
                                info_persona_prov.pe_nombre           = Convert.ToString(reader.GetValue(7));
                                info_persona_prov.IdTipoDocumento     = Convert.ToString(reader.GetValue(2));
                                info_persona_prov.pe_cedulaRuc        = cedula_ruc;
                                info_persona_prov.pe_direccion        = Convert.ToString(reader.GetValue(9));
                                info_persona_prov.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10));
                                info_persona_prov.pe_celular          = Convert.ToString(reader.GetValue(11));
                                info_persona_prov.pe_correo           = Convert.ToString(reader.GetValue(8));
                            }

                            info_persona_prov.pe_Naturaleza = return_naturaleza;

                            cp_proveedor_Info info = new cp_proveedor_Info
                            {
                                IdEmpresa              = IdEmpresa,
                                IdProveedor            = Convert.ToInt32(reader.GetValue(0)),
                                IdPersona              = info_persona_prov.IdPersona,
                                IdCiudad               = "09",
                                pr_codigo              = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(1))) ? null : Convert.ToString(reader.GetValue(1)),
                                pr_plazo               = Convert.ToInt32(reader.GetValue(19)),
                                IdCtaCble_CXP          = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(15))) ? null : Convert.ToString(reader.GetValue(15)),
                                IdCtaCble_Gasto        = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(14))) ? null : Convert.ToString(reader.GetValue(14)),
                                IdClaseProveedor       = Convert.ToInt32(reader.GetValue(13)),
                                num_cta_acreditacion   = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(18))) ? null : Convert.ToString(reader.GetValue(18)),
                                IdBanco_acreditacion   = 4,
                                es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false,
                                pr_telefonos           = Convert.ToString(reader.GetValue(10)),
                                pr_celular             = Convert.ToString(reader.GetValue(11)),
                                pr_direccion           = Convert.ToString(reader.GetValue(9)),
                                pr_correo              = Convert.ToString(reader.GetValue(8)),
                                IdUsuario              = SessionFixed.IdUsuario,
                            };

                            info.info_persona = info_persona_prov;

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