public string DoMigration(FilterTaskParamModel param) { if (param != null && param.ModuleIds != null && param.ModuleIds.Count > 0 && !string.IsNullOrEmpty(param.DepartmentId)) { // Employee list + Modules BindGlobalData(); var moduleNames = Modules.Where(m => param.ModuleIds.Contains(m.Key)).Select(m => m.Value).ToList(); var departmentId = Convert.ToInt32(param.DepartmentId); var isOverrideData = param.HasOverwriteOldData == "1" ? true : false; var duplicatedEmployeeInfo = MigrateTask(isOverrideData, moduleNames, departmentId); if (!string.IsNullOrEmpty(duplicatedEmployeeInfo)) { return(duplicatedEmployeeInfo); } if (param.HasIncludeDelegation == "1") { MigrateDelegation(isOverrideData, moduleNames, departmentId); } } return(string.Empty); }
public string DoDelete(FilterTaskParamModel param) { if (param != null) { var departmentId = string.IsNullOrEmpty(param.DepartmentId) ? 0 : Convert.ToInt32(param.DepartmentId); var moduleIds = param.ModuleIds; DeleteOldData(TO_DO_LIST_NAME, moduleIds, departmentId); DeleteOldData(DONE_LIST_NAME, moduleIds, departmentId); } return(string.Empty); }
public IEnumerable <FilterTaskModel> GetAllTasks(FilterTaskParamModel param) { List <FilterTaskModel> result = new List <FilterTaskModel>(); using (SPSite site = new SPSite(_webUrl)) { using (SPWeb web = site.OpenWeb()) { var query = $@"<Where> <And> <Eq> <FieldRef Name='DataSourceID' /> <Value Type='Number'>{1}</Value> </Eq> <Eq> <FieldRef Name='DepartmentEN' LookupId='TRUE'/> <Value Type='Lookup'>{param.DepartmentId}</Value> </Eq> </And> </Where>"; if (param.ModuleIds != null && param.ModuleIds.Any()) { StringBuilder sbItem = new StringBuilder(); foreach (var moduleId in param.ModuleIds) { sbItem.Append($@"<Value Type='Number'>{moduleId}</Value>"); } query = $@"<Where> <And> <And> <Eq> <FieldRef Name='DataSourceID' /> <Value Type='Number'>{1}</Value> </Eq> <Eq> <FieldRef Name='DepartmentEN' LookupId='TRUE'/> <Value Type='Lookup'>{param.DepartmentId}</Value> </Eq> </And> <In> <FieldRef Name='ModuleNameEN' LookupId='TRUE'/> <Values> {sbItem.ToString()} </Values> </In> </And> </Where>"; } var spQuery = new SPQuery { Query = query, ViewAttributes = "Scope=\"RecursiveAll\"" }; // TODO list SPList toDoList = web.GetList($"{web.Url}/Lists/{TO_DO_LIST_NAME}"); var toDoItemCollection = toDoList.GetItems(spQuery); if (toDoItemCollection != null && toDoItemCollection.Count > 0) { var inProgressStatusId = 1; // In-Progress result.AddRange(CreateFilterTaskModel(toDoItemCollection, inProgressStatusId)); } // APPROVED list SPList doneList = web.GetList($"{web.Url}/Lists/{DONE_LIST_NAME}"); var doneItemCollection = doneList.GetItems(spQuery); if (doneItemCollection != null && doneItemCollection.Count > 0) { var approvedStatusId = 3; // Approved result.AddRange(CreateFilterTaskModel(doneItemCollection, approvedStatusId)); } } } return(result); }