Exemplo n.º 1
0
        /// <summary>
        /// //Giai ma
        /// </summary>
        ///  /// phongtv
        /// <param name="ModuleParent"></param>
        /// <param name="AttributeCode"></param>
        /// <param name="keyString"></param>
        /// <returns></returns>
        public int DecryptAtt(string ModuleParent, string AttributeCode, string keyString)
        {
            int result = 0;

            try
            {
                List <TblCimsattributeValue> CimsChk = db.TblCimsattributeValue.Where(a => a.IsDelete == false && a.Module == ModuleParent && a.AttributeCode == AttributeCode).ToList();

                for (int i = 0; i < CimsChk.Count(); i++)
                {
                    TblVocattributes AttChk = db.TblVocattributes.Where(a => a.IsDelete == false && a.ModuleParent == ModuleParent && a.AttributeCode == AttributeCode).FirstOrDefault();
                    AttChk.Encyption       = false;
                    db.Entry(AttChk).State = EntityState.Modified;
                    db.SaveChanges();

                    string text = CimsChk[i].AttributeValue;
                    CimsChk[i].AttributeValue  = cimsCommon.DecryptStringAES(text, keyString);
                    db.Entry(CimsChk[i]).State = EntityState.Modified;
                    db.SaveChanges();
                    result = 2;
                }

                return(result);
            }
            catch (Exception ex)
            {
                return(result);

                throw ex;
            }
        }
Exemplo n.º 2
0
 public ResponseDTO UpdateEncrpytion(AttributeModel model, string orgCode)
 {
     using (TransactionScope scope = new TransactionScope())
     {
         try
         {
             foreach (var item in model.tblVocattributes)
             {
                 var result = db.TblEncryption.Where(x => x.AttributeCode == item.AttributeCode && x.ParentCode == item.ParentCode).FirstOrDefault();
                 if (result != null)
                 {
                     // Kiểm tra xem trường dữ liệu đã được mã hóa lần nào chưa
                     if (result.IsFirst == true)
                     {
                         db.TblEncryption.Remove(result);
                     }
                     else
                     {
                         if (result.EncryptionStatus == result.FinalizationStatus)
                         {
                             // Kiểm tra trạng thái mã hóa của trường dữ liệu
                             if (result.EncryptionStatus == true)
                             {
                                 result.EncryptionStatus = false;
                                 result.UpdatedBy        = model.UserName;
                                 //result.IsDone = true;
                                 result.IsDone          = false;
                                 db.Entry(result).State = EntityState.Modified;
                             }
                             else
                             {
                                 result.EncryptionStatus = true;
                                 result.UpdatedBy        = model.UserName;
                                 //result.IsDone = true;
                                 result.IsDone          = false;
                                 db.Entry(result).State = EntityState.Modified;
                             }
                         }
                         else
                         {
                             result.IsDone           = true;
                             result.EncryptionStatus = result.FinalizationStatus;
                         }
                     }
                 }
                 else
                 {
                     // Thêm mới trường dữ liệu cần mã hóa
                     if (item.ParentCode == EncryptionConstant.ADMIN_USER)
                     {
                         var attributeEncryption = new TblEncryption();
                         attributeEncryption.AttributeCode = item.AttributeCode;
                         if (item.AttributeLabel == EncryptionConstant.HoTen)
                         {
                             attributeEncryption.AttributeLabel = item.AttributeLabel;
                             attributeEncryption.Field          = EncryptionConstant.FullName;
                         }
                         if (item.AttributeLabel == EncryptionConstant.DiaChi)
                         {
                             attributeEncryption.AttributeLabel = item.AttributeLabel;
                             attributeEncryption.Field          = EncryptionConstant.Address;
                         }
                         attributeEncryption.CreatedBy        = model.UserName;
                         attributeEncryption.CreateDate       = DateTime.Now;
                         attributeEncryption.ParentCode       = item.ParentCode;
                         attributeEncryption.ModuleName       = item.ModuleName;
                         attributeEncryption.EncryptionStatus = true;
                         attributeEncryption.OrgCode          = orgCode;
                         attributeEncryption.IsFirst          = true;
                         attributeEncryption.IsDone           = false;
                         db.TblEncryption.Add(attributeEncryption);
                     }
                     else
                     {
                         var attributeEncryption = new TblEncryption();
                         attributeEncryption.AttributeCode    = item.AttributeCode;
                         attributeEncryption.AttributeLabel   = item.AttributeLabel;
                         attributeEncryption.CreatedBy        = model.UserName;
                         attributeEncryption.CreateDate       = DateTime.Now;
                         attributeEncryption.ParentCode       = item.ParentCode;
                         attributeEncryption.ModuleName       = item.ModuleName;
                         attributeEncryption.EncryptionStatus = true;
                         attributeEncryption.OrgCode          = orgCode;
                         attributeEncryption.IsFirst          = true;
                         attributeEncryption.IsDone           = false;
                         db.TblEncryption.Add(attributeEncryption);
                     }
                 }
             }
             db.SaveChanges();
             scope.Complete();
             return(new ResponseDTO()
             {
                 StatusCode = 200, Response = EncryptionConstant.MS0013
             });
         }
         catch (Exception ex)
         {
             return(new ResponseDTO()
             {
                 StatusCode = 500, Response = ex.Message
             });
         }
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// chỉnh sửa danh mục
 /// CreatedBy: Cuongpv1
 /// CreatedDate: 23/05/2019
 /// </summary>
 /// <param name="tblCategory">object</param>
 /// <returns></returns>
 public object UpdateCategory(CategoryChildren tblCategory)
 {
     try
     {
         int              code           = 0;
         object           objCategory    = new object();
         string           cateCode       = LocDau(tblCategory.CategoryName).ToUpper();
         string           cateCode1      = (cateCode != "") ? Regex1(cateCode, CategoryConstant.regex, CategoryConstant.Space) : "";
         TblCategoryGroup checkCateGroup = db.TblCategoryGroup.Where(v => v.CategoryCode == tblCategory.CategoryCode && v.IsDelete == false).FirstOrDefault();
         TblCategory      checkCateCode  = db.TblCategory.Where(v => v.CategoryCode == tblCategory.CategoryCode && v.IsDelete == false).FirstOrDefault();
         if (tblCategory.CategoryTypeCode != "")
         {
             if (checkCateGroup != null)
             {
                 TblCategoryGroup checkCategoryCode_New = db.TblCategoryGroup.Where(v => v.CategoryCode == cateCode1 && v.CategoryGroupName.ToLower().TrimStart().TrimEnd() == tblCategory.CategoryName.ToLower().TrimStart().TrimEnd() && v.IsDelete == false).FirstOrDefault();
                 if (checkCategoryCode_New != null)
                 {
                     using (var ts = new TransactionScope())
                     {
                         checkCateGroup.CategoryCode        = cateCode1;
                         checkCateGroup.CategoryGroupName   = tblCategory.CategoryName;
                         checkCateGroup.CategoryTypeCode    = tblCategory.CategoryTypeCode;
                         checkCateGroup.CategoryDescription = tblCategory.CategoryDescription;
                         checkCateGroup.UpdateBy            = tblCategory.UpdateBy;
                         checkCateGroup.UpdateDate          = DateTime.Now;
                         checkCateGroup.IsDelete            = false;
                         db.Entry(checkCateGroup).State     = EntityState.Modified;
                         code = db.SaveChanges();
                         if (tblCategory.children.Count > 0)
                         {
                             AddCategoryChild(checkCateGroup.CategoryCode, tblCategory.children);
                         }
                         if (tblCategory.deleteCategory.Count > 0)
                         {
                             DeleteCategoryChild(tblCategory.deleteCategory);
                         }
                         objCategory = new { code = code, CategoryCode = checkCateGroup.CategoryCode };
                         ts.Complete();
                     }
                 }
                 else
                 {
                     TblCategoryGroup checkTblCategoryGroup = db.TblCategoryGroup.Where(v => v.CategoryCode == cateCode1 && v.IsDelete == false).FirstOrDefault();
                     if (checkTblCategoryGroup != null)
                     {
                         objCategory = new { code = 0, CategoryCode = "" };
                     }
                     else
                     {
                         using (var ts = new TransactionScope())
                         {
                             checkCateGroup.CategoryCode        = cateCode1;
                             checkCateGroup.CategoryGroupName   = tblCategory.CategoryName;
                             checkCateGroup.CategoryTypeCode    = tblCategory.CategoryTypeCode;
                             checkCateGroup.CategoryDescription = tblCategory.CategoryDescription;
                             checkCateGroup.UpdateBy            = tblCategory.UpdateBy;
                             checkCateGroup.UpdateDate          = DateTime.Now;
                             checkCateGroup.IsDelete            = false;
                             db.Entry(checkCateGroup).State     = EntityState.Modified;
                             code = db.SaveChanges();
                             if (tblCategory.children.Count > 0)
                             {
                                 AddCategoryChild(checkCateGroup.CategoryCode, tblCategory.children);
                             }
                             if (tblCategory.deleteCategory.Count > 0)
                             {
                                 DeleteCategoryChild(tblCategory.deleteCategory);
                             }
                             objCategory = new { code = code, CategoryCode = checkCateGroup.CategoryCode };
                             ts.Complete();
                         }
                     }
                 }
             }
             else
             {
                 TblCategory checkCateCode1 = db.TblCategory.Where(v => v.CategoryCode == tblCategory.CategoryCode && v.IsDelete == false).FirstOrDefault();
                 using (var ts = new TransactionScope())
                 {
                     TblCategoryGroup addCategory = new TblCategoryGroup();
                     addCategory.CategoryCode        = cateCode1;
                     addCategory.CategoryGroupName   = tblCategory.CategoryName;
                     addCategory.CategoryTypeCode    = tblCategory.CategoryTypeCode;
                     addCategory.CategoryDescription = tblCategory.CategoryDescription;
                     addCategory.CreateBy            = tblCategory.CreateBy;
                     addCategory.CreateDate          = DateTime.Now;
                     addCategory.IsDelete            = false;
                     db.TblCategoryGroup.Add(addCategory);
                     code = db.SaveChanges();
                     if (checkCateCode1 != null)
                     {
                         db.TblCategory.Remove(checkCateCode1);
                         db.SaveChanges();
                     }
                     if (tblCategory.children.Count > 0)
                     {
                         AddCategoryChild(addCategory.CategoryCode, tblCategory.children);
                     }
                     if (tblCategory.deleteCategory.Count > 0)
                     {
                         DeleteCategoryChild(tblCategory.deleteCategory);
                     }
                     objCategory = new { code = code, CategoryCode = addCategory.CategoryCode };
                     ts.Complete();
                 }
             }
         }
         else
         {
             if (checkCateCode != null)
             {
                 TblCategory checkCateCode_New = db.TblCategory.Where(v => v.CategoryCode == tblCategory.CategoryCode && v.CategoryName.ToLower().TrimStart().TrimEnd() == tblCategory.CategoryName.ToLower().TrimStart().TrimEnd() && v.IsDelete == false).FirstOrDefault();
                 if (checkCateCode_New != null)
                 {
                     using (var ts = new TransactionScope())
                     {
                         checkCateCode.CategoryCode        = cateCode1;
                         checkCateCode.CategoryName        = tblCategory.CategoryName;
                         checkCateCode.CategoryTypeCode    = tblCategory.CategoryTypeCode;
                         checkCateCode.CategoryDescription = tblCategory.CategoryDescription;
                         checkCateCode.CreateBy            = tblCategory.CreateBy;
                         checkCateCode.UpdateDate          = DateTime.Now;
                         checkCateCode.UpdateBy            = tblCategory.UpdateBy;
                         checkCateCode.IsDelete            = false;
                         db.Entry(checkCateCode).State     = EntityState.Modified;
                         code = db.SaveChanges();
                         if (tblCategory.children.Count > 0)
                         {
                             AddCategoryChild(checkCateCode.CategoryCode, tblCategory.children);
                         }
                         if (tblCategory.deleteCategory.Count > 0)
                         {
                             DeleteCategoryChild(tblCategory.deleteCategory);
                         }
                         objCategory = new { code = code, CategoryCode = checkCateCode.CategoryCode };
                         ts.Complete();
                     }
                 }
                 else
                 {
                     TblCategory checkCategory = db.TblCategory.Where(v => v.CategoryCode == cateCode1 && v.IsDelete == false).FirstOrDefault();
                     if (checkCategory != null)
                     {
                         objCategory = new { code = 0, CategoryCode = "" };
                     }
                     else
                     {
                         TblCategoryGroup removeCategoryGroup = db.TblCategoryGroup.Where(v => v.CategoryCode == cateCode1 && v.IsDelete == false).FirstOrDefault();
                         using (var ts = new TransactionScope())
                         {
                             TblCategory addCate = new TblCategory();
                             addCate.CategoryCode        = cateCode1;
                             addCate.CategoryTypeCode    = tblCategory.CategoryTypeCode;
                             addCate.CategoryName        = tblCategory.CategoryName;
                             addCate.CategoryDescription = tblCategory.CategoryDescription;
                             addCate.IsDelete            = false;
                             addCate.CreateBy            = tblCategory.UpdateBy;
                             addCate.CreateDate          = DateTime.Now;
                             db.TblCategory.Add(addCate);
                             code = db.SaveChanges();
                             if (removeCategoryGroup != null)
                             {
                                 db.TblCategoryGroup.Remove(removeCategoryGroup);
                                 db.SaveChanges();
                             }
                             if (tblCategory.children.Count > 0)
                             {
                                 AddCategoryChild(addCate.CategoryCode, tblCategory.children);
                             }
                             if (tblCategory.deleteCategory.Count > 0)
                             {
                                 DeleteCategoryChild(tblCategory.deleteCategory);
                             }
                             objCategory = new { code = code, CategoryCode = addCate.CategoryCode };
                             ts.Complete();
                         }
                     }
                 }
             }
         }
         return(objCategory);
     }
     catch (Exception ex)
     {
         return(new { code = 500, messsage = ex.Message });
     }
 }