コード例 #1
0
        private string RefactorCarpeta(string carpeta)
        {
            switch (_db)
            {
            case "csAccess":
                if (carpeta.Split('/').Length > 2)
                {
                    string[] vIndice        = carpeta.Split('/');
                    string   indiceRefactor = vIndice[vIndice.Length - 2].Trim();
                    indiceRefactor += string.Concat("/", vIndice[vIndice.Length - 1].Trim());
                    string[] vIndice2 = vIndice.Take(vIndice.Length - 2).ToArray();
                    vIndice2 = vIndice2.Reverse().ToArray();
                    string indiceRefactor2 = String.Join("/", vIndice2).Trim();
                    indiceRefactor += "/" + indiceRefactor2;
                    carpeta         = indiceRefactor;
                }
                break;

            case "csSql":
                carpeta = String.Join("/", carpeta.Split('/').Reverse().ToArray());
                break;

            default:
                carpeta = string.Empty;
                break;
            }
            return(SharepointUtility.CleanSPSpecialCharacters(carpeta));
        }
コード例 #2
0
        public void ImportarDocx()
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite site = new SPSite(_url))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        web.AllowUnsafeUpdates = true;
                        try
                        {
                            string[] archivos = Directory.GetFiles(_path, "*.docx", SearchOption.AllDirectories);
                            StreamWriter sw   = new StreamWriter(_path + "\\" + "fechaConsulta.txt", true);
                            foreach (string archivo in archivos)
                            {
                                string consulta    = archivo.Split('\\').Last().Split('.').First();
                                string hora        = string.Concat(DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString("00"), DateTime.Now.Day.ToString("00"), DateTime.Now.Hour.ToString("00"), DateTime.Now.Minute.ToString("00"), DateTime.Now.Second.ToString("00"), (DateTime.Now.Millisecond).ToString("000"), ".docx");
                                string urlNueva    = string.Concat(_url, "/", hora);
                                string urlConsulta = string.Concat(_url, "/", consulta, ".docx");

                                if (web.GetFile(urlConsulta).Item == null)
                                {
                                    string exception;
                                    if (SharepointUtility.SubirArchivo(archivo, urlNueva, web, out exception))
                                    {
                                        File.Move(archivo, archivo.Remove(archivo.LastIndexOf('\\')) + '\\' + hora);
                                        //LogProcesados.Crear(LogForErrepar.LogErrepar.TipoDeLog.INFO, hora + " $ " + consulta);
                                        sw.WriteLine(hora + "$" + consulta);
                                        ImportarMeta(site, web, urlNueva, consulta);
                                    }
                                    else
                                    {
                                        LoggingService.LogError("Importador COP", exception);
                                    }
                                }
                                else
                                {
                                    sw.Close();
                                    StreamReader sr   = new StreamReader(_path + "\\" + "fechaConsulta.txt");
                                    string reader     = sr.ReadToEnd();
                                    string consultaId = reader.Split('\n').First(c => c.Contains(consulta)).Split('$')[1].Trim();
                                    this.ImportarMeta(site, web, urlConsulta, consultaId);
                                    sr.Close();
                                    sw = new StreamWriter(_path + "\\" + "fechaConsulta.txt", true);
                                }
                            }
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            LoggingService.LogError("Importador COP", ex.Message);
                        }
                    }
                }
            });
        }
コード例 #3
0
        private void ImportarMeta(SPSite site, SPWeb web, string url, string consulta)
        {
            string nombre = string.Empty;

            try
            {
                SPListItem listItem = web.GetFile(url).Item;
                nombre = listItem.Name;
                SharepointUtility.CambiarContentType(listItem, "Consulta");
                if (RealizarConsulta(consulta))
                {
                    foreach (Campo campo in this.campos)
                    {
                        switch (campo.Tipo)
                        {
                        case "Metadato":
                            SharepointUtility.SetMetadata(ref listItem, site, campo.Nombre, (string)campo.Valor, 3082, false);
                            break;

                        default:
                            SharepointUtility.SetColumnValue(listItem, listItem.ParentList.Fields.GetFieldByInternalName(campo.Nombre), campo.Valor);
                            break;
                        }
                    }
                    listItem.SystemUpdate();
                    if (_db.Equals("csSql"))
                    {
                        try
                        {
                            if (listItem.File.CheckOutType == SPFile.SPCheckOutType.None || listItem.File.CheckOutType == SPFile.SPCheckOutType.Online)
                            {
                                listItem.File.CheckIn(string.Empty, SPCheckinType.MinorCheckIn);
                            }
                        }
                        catch (Exception ex)
                        {
                            LoggingService.LogError("Importador COP", "Error al procesar el archivo: " + nombre + " Mensaje: " + ex.Message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LoggingService.LogError("Importador COP", "Error al procesar el archivo: " + nombre + " Mensaje: " + ex.Message);
            }
        }
コード例 #4
0
 private static string RefactorAutor(string autor)
 {
     return(SharepointUtility.CleanSpecialCharacters(autor.Trim()[0].ToString()).Trim() + "/" + autor.Trim());
 }