コード例 #1
0
        public bool AddDocumentOrVersion(string docName, byte[] fileByteArray, long targetFolder)
        {
            try
            {
                if (fileByteArray != null && targetFolder > 0)
                {
                    var eaj = new EntityAttachment
                    {
                        Contents     = fileByteArray,
                        CreatedDate  = DateTime.Now,
                        FileName     = docName,
                        ModifiedDate = DateTime.Now,
                        FileSize     = fileByteArray.Length
                    };

                    var idj = VariableHelper.Dmo.AddDocumentOrVersion(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, eaj, targetFolder, "", true);
                    return(idj > 0);
                }
            }
            catch (Exception ex)
            {
                Logger.Warn(ex, "File named " + docName + "   could not be found.");
            }
            return(false);
        }
コード例 #2
0
        public bool AddDocumentWithMetaData(long targetFolder, string docName, byte[] fileByteArray, EntityMetadata emd)
        {
            EntityAttachment eaj = null;

            try
            {
                if (fileByteArray != null && targetFolder > 0)
                {
                    eaj = new EntityAttachment
                    {
                        Contents     = fileByteArray,
                        CreatedDate  = DateTime.Now,
                        FileName     = docName,
                        ModifiedDate = DateTime.Now,
                        FileSize     = fileByteArray.Length
                    };
                }

                var ida = VariableHelper.Dmo.AddDocumentWithMetadata(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, targetFolder, emd, eaj, "");
                if (ida == 0)
                {
                    StreamHelper.MoveUnUploadedDocumentsToBackUpFolder(docName);
                }

                return(ida > 0);
            }
            catch (Exception ex)
            {
                Logger.Trace(ex, "File named" + docName + "is not exist in this address");
                StreamHelper.MoveUnUploadedDocumentsToBackUpFolder(docName);
                return(false);
            }
        }
コード例 #3
0
        public async Task <bool> AddDocumentWithMetaDataAsync(long targetFolder, string docName, byte[] fileByteArray, EntityMetadata emd)
        {
            EntityAttachment eaj = null;

            try
            {
                if (fileByteArray != null && targetFolder > 0)
                {
                    eaj = new EntityAttachment
                    {
                        Contents     = fileByteArray,
                        CreatedDate  = DateTime.Now,
                        FileName     = docName,
                        ModifiedDate = DateTime.Now,
                        FileSize     = fileByteArray.Length
                    };
                }

                await Task.Run(() => VariableHelper.Dmo.AddDocumentWithMetadataAsync(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, targetFolder, emd, eaj, ""));

                eaj = null;
                return(true);
            }
            catch (Exception ex)
            {
                Logger.Trace(ex, "File named" + docName + "is not exist in this address");
                return(false);
            }
        }
コード例 #4
0
        public static EntityNode GetAncestorNodeByName(long parentNodeId, string name)
        {
            EntityNode   result = null;
            const string query  = "Select DataID FROM [OTCS].[dbo].[DTreeCore] Where ABS([ParentID]) = @parentNodeId AND UPPER([Name]) LIKE @name";

            using (var connection = new SqlConnection(GetConnectionString()))
            {
                var command = new SqlCommand(query, connection);
                command.Parameters.AddWithValue("@name", "%" + name + "%");
                command.Parameters.AddWithValue("@parentNodeId", parentNodeId);

                try
                {
                    connection.Open();
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        var itemNodeId = Convert.ToInt64(reader["DataID"]);
                        result = VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, itemNodeId, false, false, false);
                    }
                    reader.Close();
                    connection.Close();

                    return(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(Resources.ErrorTypeDbTransacts + ex.ToString());
                    Logger.Error(ex, Resources.ErrorTypeDbTransacts);
                    throw;
                }
            }
        }
コード例 #5
0
 public EntityNode[] GetChildNodesByIdTop1000Nodes(long id)
 {
     EntityNode[] data;
     try
     {
         data = VariableHelper.Dmo.GetChildNodes(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, id, 0, 10, false, false);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         Logger.Error(ex, Resources.WebServicesNotWorking);
         throw;
     }
     return(data);
 }
コード例 #6
0
        public static List <EntityNode> GetNodesByIdPartially(long parentNodeId, int offSetPoint, int fetchNextAmount)
        {
            var result = new List <EntityNode>();

            const string query = "Select DataID FROM [OTCS].[dbo].[DTreeCore] Where ABS([ParentID]) = @parentNodeId ORDER BY (SELECT NULL) OFFSET @offSetPoint ROWS FETCH NEXT @fetchNextAmount ROWS ONLY";

            var connStrBuilder = new SqlConnectionStringBuilder(GetConnectionString())
            {
                ConnectTimeout = 300
            };

            using (var connection = new SqlConnection(connStrBuilder.ConnectionString))
            {
                var command = new SqlCommand(query, connection);
                command.Parameters.AddWithValue("@offSetPoint", offSetPoint);
                command.Parameters.AddWithValue("@fetchNextAmount", fetchNextAmount);
                command.Parameters.AddWithValue("@parentNodeId", parentNodeId);

                try
                {
                    connection.Open();
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        var itemNodeId = Convert.ToInt64(reader["DataID"]);
                        result.Add(VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, itemNodeId, false, false, false));
                    }
                    reader.Close();
                    connection.Close();

                    return(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(Resources.ErrorTypeDbTransacts + ex.ToString());
                    Logger.Error(ex, Resources.ErrorTypeDbTransacts);

                    throw;
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// PROJE İçerisindeki PYP NO Item in adının ilk kısmına denk geliyor. Örn 1001/ ALtındağ bina ... nın pyp nosu 1001 --
        /// Onu da ValStr içerisindeki 8 itemden birinde göreceksin. Diperleri projeno, proje tanım, pyp, lansman adı, yüklenici vs ...
        /// </summary>
        /// <param name="defId"></param>
        /// <param name="valStr"></param>
        /// <returns></returns>
        public static List <EntityNode> GetNodesByCategoryAttribute(long defId, string valStr)
        {
            var result = new List <EntityNode>();

            const string query = "Select ID FROM [OTCS].[dbo].[LLAttrData] Where [DefID] = @defId AND [ValStr] LIKE @valStr";

            var connStrBuilder = new SqlConnectionStringBuilder(GetConnectionString())
            {
                ConnectTimeout = 300
            };

            using (var connection = new SqlConnection(connStrBuilder.ConnectionString))
            {
                var command = new SqlCommand(query, connection);
                command.Parameters.AddWithValue("@defId", defId);
                command.Parameters.AddWithValue("@valStr", valStr);

                try
                {
                    connection.Open();
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        var itemNodeId = Convert.ToInt64(reader["ID"]);
                        result.Add(VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, itemNodeId, false, false, false));
                    }
                    reader.Close();
                    connection.Close();

                    return(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(Resources.ErrorTypeDbTransacts + ex.ToString());
                    Logger.Error(ex, Resources.ErrorTypeDbTransacts);
                    throw;
                }
            }
        }
コード例 #8
0
 public EntityNode[] GetChildNodesById(long id)
 {
     return(VariableHelper.Dmo.GetChildNodes(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, id, 0, int.MaxValue, false, false));
 }
コード例 #9
0
        public static Dictionary <Tuple <long, string>, byte[]> MakePreparedDocumentListToPush(string rootFolderPath, List <EntityNode> nodeList)
        {
            try
            {
                if (nodeList == null)
                {
                    return(null);
                }

                var dict = new Dictionary <Tuple <long, string>, byte[]>();

                var fileArray = Directory.GetFiles(rootFolderPath);

                foreach (var targetNode in nodeList)
                {
                    if (targetNode == null)
                    {
                        continue;
                    }
                    var parentNode = VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, targetNode.ParentId, false, false, false);
                    var parentOfFirstParentNode  = VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, parentNode.ParentId, false, false, false);
                    var parentOfSecondParentNode = VariableHelper.Dmo.GetEntityNodeFromId(OtCredentialsEnum.ConvertString(OtCredentialsEnum.OtAdminCredentials.User), VariableHelper.Token, parentOfFirstParentNode.ParentId, false, false, false);
                    foreach (var file in fileArray)
                    {
                        if (dict.Count == fileArray.Count())
                        {
                            return(dict);
                        }

                        var newDocName         = file.Split('\\').LastOrDefault()?.Split('.').FirstOrDefault()?.Split('-').FirstOrDefault();
                        var newDocNameWithTail = file.Split('\\').LastOrDefault();

                        if (newDocName != null && parentNode.Name.Contains(newDocName))
                        {
                            var newFile = File.ReadAllBytes(file);

                            dict.Add(new Tuple <long, string>(targetNode.Id, newDocNameWithTail), newFile);
                        }
                        else if (parentOfFirstParentNode.Id > 0)
                        {   // 2. Kırınım için
                            if (newDocName == null || !parentOfFirstParentNode.Name.Contains(newDocName))
                            {
                                continue;
                            }

                            var newFile = File.ReadAllBytes(file);

                            dict.Add(new Tuple <long, string>(targetNode.Id, newDocNameWithTail), newFile);
                        }

                        else if (parentOfSecondParentNode.Id > 0)
                        {   // 3.Kırınım için
                            if (newDocName != null && !parentOfSecondParentNode.Name.Contains(newDocName))
                            {
                                continue;
                            }
                            var newFile = File.ReadAllBytes(file);

                            dict.Add(new Tuple <long, string>(targetNode.Id, newDocNameWithTail), newFile);
                        }
                        else
                        {
                            //Console.Write("f**k your nodes. Write all them into your services.");
                            MessageBox.Show(Resources.NodeDeepnessExceed);
                        }
                    }
                }

                return(dict);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }