public void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); //DebugHelper.Break(); var salesCaseStatus_OpenID = OptionSetHelper.GetOptionSetItemID("crm.SalesCaseStatuses", "Open"); var salesCaseStatus_WonID = OptionSetHelper.GetOptionSetItemID("crm.SalesCaseStatuses", "Won"); if (entity.ChangeStatus == "Delete" || entity.FieldValues["Status"].ToString() == salesCaseStatus_OpenID.ToString() || entity.FieldValues["Status"].ToString() == salesCaseStatus_WonID.ToString()) { var salesCaseLoseInfoEntity = dbHelper.FetchSingle("crm.SalesCaseLoseInfo", string.Format(@"SalesCase = '{0}'", entity.GetFieldValue <Guid>("ID")), null); if (salesCaseLoseInfoEntity != null) { dbHelper.DeleteEntity(salesCaseLoseInfoEntity); } } if (entity.ChangeStatus == "Delete") { var salesCaseStageChangeHistoryEntityList = dbHelper.FetchMultiple("crm.SalesCaseStageChangeHistory", string.Format(@"SalesCase = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null); if (salesCaseStageChangeHistoryEntityList.Entities.Count != 0) { foreach (Entity salesCaseStageChangeHistoryEntity in salesCaseStageChangeHistoryEntityList.Entities) { dbHelper.DeleteEntity(salesCaseStageChangeHistoryEntity); } } var salesCaseOwnerUserChangeHistoryEntityList = dbHelper.FetchMultiple("crm.SalesCaseOwnerUserChangeHistory", string.Format(@"SalesCase = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null); if (salesCaseOwnerUserChangeHistoryEntityList.Entities.Count != 0) { foreach (Entity salesCaseOwnerUserChangeHistoryEntity in salesCaseOwnerUserChangeHistoryEntityList.Entities) { dbHelper.DeleteEntity(salesCaseOwnerUserChangeHistoryEntity); } } var salesCaseStatusChangeHistoryEntityList = dbHelper.FetchMultiple("crm.SalesCaseStatusChangeHistory", string.Format(@"SalesCase = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null); if (salesCaseStatusChangeHistoryEntityList.Entities.Count != 0) { foreach (Entity salesCaseStatusChangeHistoryEntity in salesCaseStatusChangeHistoryEntityList.Entities) { dbHelper.DeleteEntity(salesCaseStatusChangeHistoryEntity); } } } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); if (entity.ChangeStatus == EntityChangeTypes.Delete) { var workflowDefID = entity.GetFieldValue <Guid>("ID"); var workflowStageOrgPostions = dbHelper.FetchMultiple("cmn.WorkflowStageOrgPostion", string.Format("WorkflowDef = '{0}'", workflowDefID.ToString()), null, null, null, null).Entities; foreach (Entity workflowStageOrgPostion in workflowStageOrgPostions) { dbHelper.DeleteEntity(workflowStageOrgPostion); } } if (entity.ChangeStatus != EntityChangeTypes.Delete) { var workflowFormID = entity.GetFieldValue <Guid>("WorkflowForm"); if (dbHelper.EntityExists("cmn.WorkflowDef", string.Format("WorkflowForm = '{0}' and ID <> '{1}'", workflowFormID, entity.GetFieldValue <Guid>("ID")))) { throw new AfwException("برای این فرم، گردش کار دیگری تعریف شده است."); } } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); if (entity.ChangeStatus == EntityChangeTypes.Add) { var lastOpNumber = cmn.Instance.GetFieldMaxIntValue("OpNumber", "wm_WarehouseHybridOperations", null); entity.SetFieldValue("OpNumber", lastOpNumber + 1); } if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify)) { foreach (var ghabzOrHavaleItem in entity.GetFieldValue <EntityList>("WarehouseHybridOperationItems").Entities) { if (ghabzOrHavaleItem.FieldExists("Stuff_Entity")) { ghabzOrHavaleItem.RemoveField("Stuff_Entity"); } } } if (entity.ChangeStatus == EntityChangeTypes.Delete) { var ghabzOrHavaleList = dbHelper.FetchMultiple("wm.GhabzOrHavale", string.Format("RefDoc_WarehouseHybridOperation = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null); foreach (var ghabzOrHavale in ghabzOrHavaleList.Entities) { dbHelper.DeleteEntity(ghabzOrHavale); } } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); //DebugHelper.Break(); if (entity.ChangeStatus == EntityChangeTypes.Delete) { var personRoleRelations = dbHelper.FetchMultiple("cmn.PersonRoleRelation", string.Format("Person = '{0}'", entity.FieldValues["ID"].ToString()), null, null, null, null); foreach (Entity personRoleRelationEntity in personRoleRelations.Entities) { dbHelper.DeleteEntity(personRoleRelationEntity); } var roles = dbHelper.FetchMultiple("cmn.PersonRole", null, null, null, null, null).Entities; foreach (var role in roles) { var roleName = role.GetFieldValue <string>("Name"); var roleInfoEntity = dbHelper.FetchSingle("cmn.Person_" + roleName + "Info", string.Format("Person = '{0}'", entity.FieldValues["ID"].ToString()), null); if (roleInfoEntity != null) { dbHelper.DeleteEntity(roleInfoEntity); } } var personGroupRelations = dbHelper.FetchMultiple("cmn.PersonGroupRelation", string.Format("Person = '{0}'", entity.FieldValues["ID"].ToString()), null, null, null, null); foreach (Entity personGroupRelationEntity in personGroupRelations.Entities) { dbHelper.DeleteEntity(personGroupRelationEntity); } } else { entity.SetFieldValue("StoredDisplayText", CalculateStoredDisplayText(entity)); } //else if(entity.ChangeStatus == EntityChangeTypes.Add) //{ // //var entityList = AreExistPersonCodes(dbHelper, entity); // //if (entityList != null) //} }
private void DeleteFinancialItem(EntityDbHelper dbHelper, Entity itemEntity) { try { var receiveTypeName = new ReceiveTypeBL().GetReceiveTypeName(itemEntity.GetFieldValue <Guid>("ReceiveType")); var fieldName = ""; var entityFullName = ""; switch (receiveTypeName) { case "Cheque": entityFullName = "rp.ReceivedCheque"; fieldName = "FinancialItem_Cheque"; break; case "Safte": entityFullName = "rp.SafteDaryafti"; fieldName = "FinancialItem_Safte"; break; case "Havale": entityFullName = "rp.HavaleDaryafti"; fieldName = "FinancialItem_Havale"; break; case "Naghd": entityFullName = "rp.NaghdeDaryafti"; fieldName = "FinancialItem_Naghd"; break; case "ChekeZemanat": entityFullName = "rp.ChekeZemanateDaryafti"; fieldName = "FinancialItem_ChekeZemanat"; break; case "Pos": entityFullName = "rp.ReceivedPos"; fieldName = "FinancialItem_Pos"; break; } var financialItemEntity = dbHelper.FetchSingleByID(entityFullName, itemEntity.GetFieldValue <Guid>(fieldName), null); dbHelper.DeleteEntity(financialItemEntity); } catch (Exception ex) { throw new Exception("Error in Delete ReceiveReceiptFinancialItem.", ex); } }
//public bool StuffDefHasTaxAndToll(Guid stuffDefId) //{ // var dbHelper = CoreComponent.Instance.MainDbHelper; // var stuffDef = dbHelper.FetchSingleByID("cmn.StuffDef", stuffDefId, new string[] { "SubCategory.MainCategory" }); // if (stuffDef.GetFieldValue<bool>("DarayeMaliatBarArzesheAfzudeh") // || ) //} public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.AfterApplyChanges(dbHelper, entity); if (entity.ChangeStatus == EntityChangeTypes.Delete) { //فعلا با ایجاد هر تعریف کالا، یک کالا هم ایجاد می کنیم. //با حذف تعریف کالا، ابتدا کالا باید حذف شود var stuff = dbHelper.FetchSingle("cmn.Stuff", string.Format("StuffDef = '{0}'", entity.GetFieldValue <Guid>("ID")), null); if (stuff != null) { dbHelper.DeleteEntity(stuff); } } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); var receiveReceiptID = entity.GetFieldValue <Guid>("ID"); if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify)) { if (dbHelper.EntityExists("rp.ReceiveReceipt", string.Format("ReceiptNumber = {0} and FinancialYear = '{1}' and ID <> '{2}'", entity.GetFieldValue <int>("ReceiptNumber"), entity.GetFieldValue <Guid>("FinancialYear"), receiveReceiptID))) { throw new AfwException("شماره این رسید قبلا ثبت شده است"); } if (entity.GetFieldValue <int>("ReceiptNumber") < 1) { throw new AfwException("شماره رسید نباید منفی باشد"); } CheckPayerChangeEnable(entity); } if (entity.ChangeStatus == EntityChangeTypes.Delete) { acc.Instance.DeleteAccDocItems(entity.GetFieldValue <Guid?>("AccDoc"), "RefOp_ReceiveReceipt", receiveReceiptID); if (!(entity.GetFieldValue <string>("CreatorOpName") == null || entity.GetFieldValue <string>("CreatorOpName") == "")) { if (entity.GetFieldValue <string>("CreatorOpName") == "krf.Registration") { var membershipFileSettlement = dbHelper.FetchSingle("krf.MembershipFileSettlement", string.Format("ReceiveReceipt = '{0}'", receiveReceiptID), null); if (membershipFileSettlement != null) { dbHelper.DeleteEntity(membershipFileSettlement); } } } } }
public override void AfterApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.AfterApplyChanges(dbHelper, entity); var id = entity.GetFieldValue <Guid>("ID"); if (entity.ChangeStatus == EntityChangeTypes.Add) { var afwOrganizationUnit = dbHelper.CreateNewEntity("afw.OrganizationUnit"); afwOrganizationUnit.SetFieldValue("ID", id); afwOrganizationUnit.SetFieldValue("Name", entity.GetFieldValue <string>("Name")); afwOrganizationUnit.SetFieldValue("ParentOrganizationUnit", entity.GetFieldValue <Guid>("ParentOrganizationUnit")); dbHelper.InsertEntity(afwOrganizationUnit); } if (entity.ChangeStatus == EntityChangeTypes.Modify) { var afwOrganizationUnit = dbHelper.FetchSingleByID("afw.OrganizationUnit", id, null); if (afwOrganizationUnit == null) { throw new AfwException("afwOrganizationUnit not found!"); } afwOrganizationUnit.SetFieldValue("Name", entity.GetFieldValue <string>("Name")); afwOrganizationUnit.SetFieldValue("ParentOrganizationUnit", entity.GetFieldValue <Guid>("ParentOrganizationUnit")); dbHelper.UpdateEntity(afwOrganizationUnit); } if (entity.ChangeStatus == EntityChangeTypes.Delete) { var afwOrganizationUnit = dbHelper.FetchSingleByID("afw.OrganizationUnit", id, null); if (afwOrganizationUnit == null) { throw new AfwException("afwOrganizationUnit not found!"); } dbHelper.DeleteEntity(afwOrganizationUnit); } }
private void DeleteFinancialItem(EntityDbHelper dbHelper, Entity itemEntity) { try { var payTypeName = new PayTypeBL().GetPayTypeName(itemEntity.GetFieldValue <Guid>("PayType")); var fieldName = ""; var entityFullName = ""; switch (payTypeName) { case "Cheque": entityFullName = "rp.PaidCheque"; fieldName = "FinancialItem_Cheque"; break; case "Havale": entityFullName = "rp.HavalePardakhti"; fieldName = "FinancialItem_Havale"; break; case "Naghd": entityFullName = "rp.NaghdePardakhti"; fieldName = "FinancialItem_Naghd"; break; case "ChekeZemanat": entityFullName = "rp.ChekeZemanatePardakhti"; fieldName = "FinancialItem_ChekeZemanat"; break; } var financialItemEntity = dbHelper.FetchSingleByID(entityFullName, itemEntity.GetFieldValue <Guid>(fieldName), null); dbHelper.DeleteEntity(financialItemEntity); } catch (Exception ex) { throw new Exception("Error in Delete PayReceiptFinancialItem.", ex); } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); if (entity.ChangeStatus == EntityChangeTypes.Add) { var lastOpNumber = cmn.Instance.GetFieldMaxIntValue("OpNumber", "wm_StuffStatusChangeAndTransfers", null); entity.SetFieldValue("OpNumber", lastOpNumber + 1); } if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify)) { foreach (var ghabzOrHavaleItem in entity.GetFieldValue <EntityList>("StuffStatusChangeAndTransferItems").Entities) { if (ghabzOrHavaleItem.FieldExists("Stuff_Entity")) { ghabzOrHavaleItem.RemoveField("Stuff_Entity"); } } } if (entity.ChangeStatus == EntityChangeTypes.Delete) { var ghabzOrHavaleEntityList = dbHelper.FetchMultiple("wm.GhabzOrHavale", string.Format("RefDoc_StuffStatusChangeAndTransfer = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null).Entities; foreach (var ghabzOrHavale in ghabzOrHavaleEntityList) { dbHelper.DeleteEntity(ghabzOrHavale); } } if (entity.ChangeStatus == EntityChangeTypes.Delete) { //acc.Instance.DeleteAccDocDetail(entity.GetFieldValue<Guid?>("AccDoc"), "RefOp_StuffStatusChangeAndTransfer", invoiceID); } }
public override void BeforeApplyChanges(EntityDbHelper dbHelper, Entity entity) { base.BeforeApplyChanges(dbHelper, entity); if (entity.ChangeStatus == EntityChangeTypes.Add) { var lastOpNumber = cmn.Instance.GetFieldMaxIntValue("OpNumber", "wm_MontageOrDemontages", string.Format("OpType = '{0}'", entity.GetFieldValue <Guid>("OpType"))); entity.SetFieldValue("OpNumber", lastOpNumber + 1); } if (entity.ChangeStatus.IsIn(EntityChangeTypes.Add, EntityChangeTypes.Modify)) { var stuffComponents = entity.GetFieldValue <EntityList>("StuffComponents").Entities; foreach (var stuffComponent in stuffComponents) { if (stuffComponent.FieldExists("Stuff_Entity")) { stuffComponent.RemoveField("Stuff_Entity"); } } if (entity.GetFieldValue <Guid>("OpType") == OptionSetHelper.GetOptionSetItemID("wm.MontageOrDemontage", "Demontage")) { int valuationPercentSum = 0; foreach (var stuffComponent in stuffComponents) { if (stuffComponent.GetFieldValue <int?>("Demontage_ValuationPercent") == null) { throw new AfwException("درصد ریالی برای سطر {0} وارد نشده است.\r\nدرصد ریالی یا باید برای همه سطر ها وارد شود و یا برای هیچ سطری وارد نشود.", stuffComponent.GetFieldValue <int>("RowNumber")); } valuationPercentSum += stuffComponent.GetFieldValue <int>("Demontage_ValuationPercent"); } if (valuationPercentSum != 100) { throw new AfwException("مجموع درصد ریالی اجزاء باید برابر با 100 باشد."); } } } if (entity.ChangeStatus == EntityChangeTypes.Delete) { var ghabzOrHavaleEntities = dbHelper.FetchMultiple("wm.GhabzOrHavale", string.Format("RefDoc_MontageOp = '{0}' or RefDoc_DemontageOp = '{0}'", entity.GetFieldValue <Guid>("ID")), null, null, null, null).Entities; var resid = ghabzOrHavaleEntities.FirstOrDefault(o => o.GetFieldValue <Guid?>("WareHouseDocRialiReference") != null); if (resid == null) { throw new AfwException("resid of montage or demontage op not found."); } dbHelper.DeleteEntity(resid); var havale = ghabzOrHavaleEntities.FirstOrDefault(o => o.GetFieldValue <Guid?>("WareHouseDocRialiReference") == null); if (havale == null) { throw new AfwException("havale of montage or demontage op not found."); } dbHelper.DeleteEntity(havale); } }