/// <summary> /// CompanyLevelIsUsed /// </summary> /// <param name="companyLevelId">companyLevelId</param> /// <param name="companyId">companyId</param> /// <returns>True or False</returns> public bool CompanyLevelIsUsed(int companyLevelId, int companyId) { UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.Load(companyId); LiquiForce.LFSLive.DA.FleetManagement.ChecklistRules.RuleGateway ruleGateway = new RuleGateway(); ruleGateway.Load(companyId); bool inUse = false; foreach (UnitsTDS.LFS_FM_UNITRow row in (UnitsTDS.LFS_FM_UNITDataTable)unitsGateway.Table) { int unitId = row.UnitID; if (companyLevelId == row.CompanyLevelID) { inUse = true; } } foreach (RuleTDS.LFS_FM_RULERow row in (RuleTDS.LFS_FM_RULEDataTable)ruleGateway.Table) { int ruleId = row.RuleID; RuleCompanyLevelGateway ruleCompanyLevelGateway = new RuleCompanyLevelGateway(null); if (ruleCompanyLevelGateway.IsUsedInRuleCompanyLevel(ruleId, companyLevelId)) { inUse = true; } } return inUse; }
/// <summary> /// CategoryIsUsed /// </summary> /// <param name="categoryId">categoryId</param> /// <param name="companyId">companyId</param> /// <returns>True or False</returns> public bool CategoryIsUsed(int categoryId, int companyId) { bool inUse = false; UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.Load(companyId); foreach (UnitsTDS.LFS_FM_UNITRow row in (UnitsTDS.LFS_FM_UNITDataTable)unitsGateway.Table) { int unitId = row.UnitID; UnitsCategoryGateway unitsCategoryGateway = new UnitsCategoryGateway(null); if (unitsCategoryGateway.IsUsedInUnitCategory(unitId, categoryId)) { inUse = true; } } LiquiForce.LFSLive.DA.FleetManagement.ChecklistRules.RuleGateway ruleGateway = new RuleGateway(); ruleGateway.Load(companyId); foreach (RuleTDS.LFS_FM_RULERow row in (RuleTDS.LFS_FM_RULEDataTable)ruleGateway.Table) { int ruleId = row.RuleID; RuleCategoryGateway ruleCategoryGateway = new RuleCategoryGateway(null); if (ruleCategoryGateway.IsUsedInRuleCategory(ruleId, categoryId)) { inUse = true; } } return inUse; }
/// <summary> /// UpdateUnitsAndRulesCompanyLevels /// </summary> /// <param name="originalCompanyLevelId">originalCompanyLevelId</param> /// <param name="newCompanyLevelId">newCompanyLevelId</param> /// <param name="companyId">companyId</param> private void UpdateUnitsAndRulesCompanyLevels(int originalCompanyLevelId, int? newCompanyLevelId, int companyId) { // Update units UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.Load(companyId); if (unitsGateway.Table.Rows.Count > 0) { foreach (UnitsTDS.LFS_FM_UNITRow row in (UnitsTDS.LFS_FM_UNITDataTable)unitsGateway.Table) { int unitId = row.UnitID; if (originalCompanyLevelId == row.CompanyLevelID) { if (newCompanyLevelId.HasValue) { UnitsGateway unitsGatewayToUpdate = new UnitsGateway(null); unitsGatewayToUpdate.UpdateCompanyLevel(row.UnitID, row.Deleted, row.COMPANY_ID, (int)newCompanyLevelId); } } } } // Update rules company levels LiquiForce.LFSLive.DA.FleetManagement.ChecklistRules.RuleGateway ruleGateway = new RuleGateway(); ruleGateway.Load(companyId); if (ruleGateway.Table.Rows.Count > 0) { foreach (RuleTDS.LFS_FM_RULERow row in (RuleTDS.LFS_FM_RULEDataTable)ruleGateway.Table) { int ruleId = row.RuleID; RuleCompanyLevelGateway ruleCompanyLevelGateway = new RuleCompanyLevelGateway(null); if ((ruleCompanyLevelGateway.IsUsedInRuleCompanyLevel(ruleId, originalCompanyLevelId)) && (newCompanyLevelId.HasValue)) { if (!ruleCompanyLevelGateway.IsUsedInRuleCompanyLevel(ruleId, (int)newCompanyLevelId)) { RuleCompanyLevel ruleCompanyLevel = new RuleCompanyLevel(null); ruleCompanyLevel.InsertDirect(ruleId, (int)newCompanyLevelId, false, companyId); ruleCompanyLevel.DeleteDirect(ruleId, originalCompanyLevelId, companyId); } else { RuleCompanyLevel ruleCompanyLevel = new RuleCompanyLevel(null); ruleCompanyLevel.DeleteDirect(ruleId, originalCompanyLevelId, companyId); } } } } }
/// <summary> /// GetRulesAndUnitsByCategoryId /// </summary> /// <param name="categoryId">categoryId</param> /// <param name="companyId">companyId</param> /// <returns></returns> public string GetRulesAndUnitsByCategoryId(int categoryId, int companyId) { string rules = ""; string units = ""; UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.Load(companyId); foreach (UnitsTDS.LFS_FM_UNITRow rowUnits in (UnitsTDS.LFS_FM_UNITDataTable)unitsGateway.Table) { int unitId = rowUnits.UnitID; UnitsCategoryGateway unitsCategoryGateway = new UnitsCategoryGateway(null); if (unitsCategoryGateway.IsUsedInUnitCategory(unitId, categoryId)) { if (units.Length > 0) { units += "\t" + rowUnits.UnitCode + " - " + rowUnits.Description + "\n"; } else { units += "Units:\n\n"; units += "\t" + rowUnits.UnitCode + " - " + rowUnits.Description + "\n"; } } } if (units.Length > 0) { units += "\n\n"; } LiquiForce.LFSLive.DA.FleetManagement.ChecklistRules.RuleGateway ruleGateway = new RuleGateway(); ruleGateway.Load(companyId); foreach (RuleTDS.LFS_FM_RULERow rowChecklistRules in (RuleTDS.LFS_FM_RULEDataTable)ruleGateway.Table) { int ruleId = rowChecklistRules.RuleID; RuleCategoryGateway ruleCategoryGateway = new RuleCategoryGateway(null); if (ruleCategoryGateway.IsUsedInRuleCategory(ruleId, categoryId)) { if (rules.Length > 0) { rules += "\t" + rowChecklistRules.Name + " - " + rowChecklistRules.Description + "\n"; } else { rules += "Checklist Rules:\n\n"; rules += "\t" + rowChecklistRules.Name + "\n"; } } } return units + rules; }
/// <summary> /// UpdateUnitsAndRulesCategories /// </summary> /// <param name="originalCategoryId">originalCategoryId</param> /// <param name="newCategoryId">newCategoryId</param> /// <param name="companyId">companyId</param> private void UpdateUnitsAndRulesCategories(int originalCategoryId, int? newCategoryId, int companyId) { // Update rules categories LiquiForce.LFSLive.DA.FleetManagement.ChecklistRules.RuleGateway ruleGateway = new RuleGateway(); ruleGateway.Load(companyId); if (ruleGateway.Table.Rows.Count > 0) { foreach (RuleTDS.LFS_FM_RULERow row in (RuleTDS.LFS_FM_RULEDataTable)ruleGateway.Table) { int ruleId = row.RuleID; RuleCategoryGateway ruleCategoryGateway = new RuleCategoryGateway(null); if ((ruleCategoryGateway.IsUsedInRuleCategory(ruleId, originalCategoryId)) && (newCategoryId.HasValue)) { if (!ruleCategoryGateway.IsUsedInRuleCategory(ruleId, (int)newCategoryId, true)) { RuleCategory ruleCategory = new RuleCategory(null); // Insert new rule category ruleCategory.InsertDirect(ruleId, (int)newCategoryId, false, companyId); // Delete old rule category ruleCategory.DeleteDirect(ruleId, originalCategoryId, companyId); } else { RuleCategory ruleCategory = new RuleCategory(null); // Undelete nee rule category ruleCategory.UnDeleteDirect(ruleId, (int)newCategoryId, companyId); // Delete old rule category ruleCategory.DeleteDirect(ruleId, originalCategoryId, companyId); } } } } // Update units categories UnitsGateway unitsGateway = new UnitsGateway(); unitsGateway.Load(companyId); if (unitsGateway.Table.Rows.Count > 0) { foreach (UnitsTDS.LFS_FM_UNITRow row in (UnitsTDS.LFS_FM_UNITDataTable)unitsGateway.Table) { int unitId = row.UnitID; int companyLevelId = row.CompanyLevelID; UnitsCategoryGateway unitsCategoryGateway = new UnitsCategoryGateway(null); if ((unitsCategoryGateway.IsUsedInUnitCategory(unitId, originalCategoryId)) && (newCategoryId.HasValue) ) { if (!unitsCategoryGateway.IsUsedInUnitCategory(unitId, (int)newCategoryId, true)) { UnitsCategory unitsCategory = new UnitsCategory(null); // Insert new unit category unitsCategory.InsertDirect(unitId, (int)newCategoryId, false, companyId); // Delete old unit category unitsCategory.DeleteDirect(unitId, originalCategoryId, companyId); // Delete all checklist for unitId DeleteChecklists(unitId, companyId); // Update checklist UpdateUnitChecklists(unitId, row.CompanyLevelID, companyId); } else { UnitsCategory unitsCategory = new UnitsCategory(null); // Undelete new category unitsCategory.UnDeleteDirect(unitId, (int)newCategoryId, companyId); // Delete old category unitsCategory.DeleteDirect(unitId, originalCategoryId, companyId); // Delete all checklist for unitId DeleteChecklists(unitId, companyId); // Update checklist UpdateUnitChecklists(unitId, row.CompanyLevelID, companyId); } } } } }