public IEnumerable <Organogram> GetOrganogram(Organogram _Organogram) { Organogram CMD = new Organogram(); Organogram APD = new Organogram(); if (_Organogram.Title == "D") { if (_Organogram != null && _Organogram.HomePhone != null) { CMD = getChannelMemberData(_Organogram.HomePhone); if (CMD != null) { LIST_Organogram = getChildern(_Organogram.Title, CMD.EmployeeID, CMD.AccTypeId); foreach (var members in LIST_Organogram.ToList()) { TempList_Organogram = getChildern(members.Title, members.EmployeeID, members.AccTypeId); if (TempList_Organogram.Count() != 0) { LIST_Organogram.AddRange(TempList_Organogram); } } } } } else if (_Organogram.Title == "M") { } LIST_Organogram.Add(CMD); return(LIST_Organogram); }
public HttpResponseMessage GetOrganogram(HttpRequestMessage reqObject) { string walletaccNo = string.Empty; Organogram _Organogram = new Organogram(); _businessData = _IDataManipulation.GetBusinessData(reqObject); _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject); if (_requestedDataObject != null && _requestedDataObject.BusinessData != null) { _Organogram = JsonConvert.DeserializeObject <Organogram>(_requestedDataObject.BusinessData); } var result = _IOrganogramService.GetOrganogram(_Organogram); //var result = _IOrganogramService.GetChannelMemberData("01913584138"); if (result != null) { _serviceResponse = _IDataManipulation.SetResponseObject(result, "information has been fetched successfully"); } else { _serviceResponse = _IDataManipulation.SetResponseObject(result, "Data Not Found..."); } _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject); return(_response); }
public ActionResult OrganoRefresh() { List <Organogram> organogramList = new List <Organogram>(); var tempOrgTop = db.Organograms.Where(w => w.Role == w.UpperRole).FirstOrDefault(); Organogram orgNewSort = new Organogram(); orgNewSort.Depart = tempOrgTop.Depart; orgNewSort.Role = tempOrgTop.Role; orgNewSort.UpperRole = tempOrgTop.UpperRole; organogramList.Add(orgNewSort); OrganogramRefresh(organogramList, orgNewSort.Role); using (var context = new ApplicationDbContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { var orgaListDel = context.Organograms.ToList(); foreach (var old in orgaListDel) { context.Organograms.Remove(old); } context.Organograms.AddRange(organogramList); context.SaveChanges(); dbContextTransaction.Commit(); //// context.SaveChanges(); //// Saving Longing Credential //LoginInfoModel logingInfoModel = new LoginInfoModel(); //PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel); //logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial(); //if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp)) //{ // return RedirectToAction("Login", "Account"); //} //logingInfoModel.UsedModel = "LCModel"; //logingInfoModel.TypeOfAction = TypeOfAction.Insert; //logingInfoModel.Data = Newtonsoft.Json.JsonConvert.SerializeObject(lcModelInsert); //context.LoginInfoModels.Add(logingInfoModel); //context.SaveChanges(); // Saving Longing Credential //dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); } } } return(RedirectToAction("Index")); }
// GET: Organograms/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Organogram organogram = db.Organograms.Find(id); if (organogram == null) { return(HttpNotFound()); } return(View(organogram)); }
public void BuildOrganogram_ShouldBuildCorrectOrganogram() { // Arrange var dataReaderMock = new Mock <DataReader>(); // Mock of Data Reader LineWriter lineWriter = new LineWriter(); List <EmployeeModel> employeeModelList = new List <EmployeeModel>(); //Test Data EmployeeModel model1 = new EmployeeModel(3, 0, "A", "A", "A", "A", "A", "1", "2", "3"); EmployeeModel model2 = new EmployeeModel(1, 2, "B", "B", "B", "B", "B", "1", "2", "3"); EmployeeModel model3 = new EmployeeModel(4, 2, "C", "C", "B", "C", "C", "1", "2", "3"); EmployeeModel model4 = new EmployeeModel(2, 0, "D", "D", "B", "D", "D", "1", "2", "3"); EmployeeModel model5 = new EmployeeModel(5, 1, "E", "E", "B", "E", "E", "1", "2", "3"); employeeModelList.Add(model1); employeeModelList.Add(model2); employeeModelList.Add(model3); employeeModelList.Add(model4); employeeModelList.Add(model5); // Manual creating of organogram Employee employee1 = new Employee(model1, 0); Employee employee3 = new Employee(model3, 1); Employee employee5 = new Employee(model5, 2); List <Employee> inferiorList2 = new List <Employee>(); inferiorList2.Add(employee5); Employee employee2 = new Employee(model2, inferiorList2, 1); List <Employee> expected = new List <Employee>(); List <Employee> inferiorList4 = new List <Employee>(); inferiorList4.Add(employee2); inferiorList4.Add(employee3); Employee employee4 = new Employee(model4, inferiorList4, 0); expected.Add(employee1); expected.Add(employee4); dataReaderMock.Setup(x => x.ReadFromFile(It.IsAny <string>())).Returns(employeeModelList); // Mock method Organogram organogram = new Organogram(lineWriter, dataReaderMock.Object); // Act List <Employee> outputOgranogram = organogram.BuildOrganogram(); // Assert CollectionAssert.AreEqual(expected, outputOgranogram); }
// GET: ArtWorks private void SortUpperRole(Organogram organogram) { var organo = db.Organograms.Where(w => w.Role == organogram.UpperRole).FirstOrDefault(); //For Looping if (organo != null && organogram.Role != organogram.UpperRole) { ListOfupperRole.Add(organogram.Role); SortUpperRole(organo); } //For Non-Looping if (organo != null && organogram.Role == organogram.UpperRole) { ListOfupperRole.Add(organogram.Role); } }
public void OrganogramRefresh(List <Organogram> organogramList, string role) { List <Organogram> organoList = db.Organograms.Where(o => o.UpperRole == role && o.UpperRole != o.Role).ToList(); if (organoList.Count() > 0) { foreach (var ogl in organoList) { Organogram orgNewSort = new Organogram(); orgNewSort.Depart = ogl.Depart; orgNewSort.Role = ogl.Role; orgNewSort.UpperRole = ogl.UpperRole; organogramList.Add(orgNewSort); OrganogramRefresh(organogramList, ogl.Role); } } }
// GET: Organograms/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (db.Organograms.Min(o => o.Id) == id) { return(RedirectToAction("Index")); } Organogram organogram = db.Organograms.Find(id); if (organogram == null) { return(HttpNotFound()); } return(View(organogram)); }
public ActionResult Create([Bind(Include = "Id,Depart,Role,UpperRole")] Organogram organogram) { MembershipHelp mHelp = new MembershipHelp(); var role = mHelp.logingUserRole(User.Identity.Name); var roleId = db.RoleMasters.Where(w => w.Name == role).Select(s => s.Id).FirstOrDefault(); var canCreate = (from m in db.MenuInfoes join rm in db.RoleMenuMappings on m.Id equals rm.MenuInfoId where m.MenuURL.Contains("Organograms") && rm.RoleId == roleId select rm.CanCreate).FirstOrDefault(); var upperNotExisted = db.Organograms.Where(w => w.Role == organogram.UpperRole).FirstOrDefault(); if (!canCreate || upperNotExisted == null || db.Organograms.Where(w => w.Role == organogram.Role).Count() > 0) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { // Saving Longing Credential LoginInfoModel logingInfoModel = new LoginInfoModel(); PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel); logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial(); if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp)) { return(RedirectToAction("Login", "Account")); } logingInfoModel.UsedModel = "Organogram"; logingInfoModel.TypeOfAction = TypeOfAction.Insert; logingInfoModel.Data = Newtonsoft.Json.JsonConvert.SerializeObject(organogram); logingInfoModel.SysDate = DateTime.Now; db.LoginInfoModels.Add(logingInfoModel); db.SaveChanges(); // Saving Longing Credential db.Organograms.Add(organogram); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(organogram)); }
public ActionResult DeleteConfirmed(int id) { MembershipHelp mHelp = new MembershipHelp(); var role = mHelp.logingUserRole(User.Identity.Name); var roleId = db.RoleMasters.Where(w => w.Name == role).Select(s => s.Id).FirstOrDefault(); var canDelete = (from m in db.MenuInfoes join rm in db.RoleMenuMappings on m.Id equals rm.MenuInfoId where m.MenuURL.Contains("Organograms") && rm.RoleId == roleId select rm.CanDelete).FirstOrDefault(); if (!canDelete || db.Organograms.Min(o => o.Id) == id) { return(RedirectToAction("Index")); } using (var context = new ApplicationDbContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { Organogram organogram = context.Organograms.Find(id); List <LoginInfoModel> logingInfoModelList = new List <LoginInfoModel>(); // Saving Longing Credential LoginInfoModel logingInfoModel = new LoginInfoModel(); PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel); logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial(); if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp)) { return(RedirectToAction("Login", "Account")); } logingInfoModel.UsedModel = "Organogram"; logingInfoModel.TypeOfAction = TypeOfAction.Delete; logingInfoModel.Data = Newtonsoft.Json.JsonConvert.SerializeObject(organogram); logingInfoModel.SysDate = DateTime.Now; logingInfoModelList.Add(logingInfoModel); var DeletedRoleEntity = context.Organograms.Where(w => w.Id == organogram.Id).FirstOrDefault(); var Role = DeletedRoleEntity.Role; var UpperRole = DeletedRoleEntity.UpperRole; foreach (var organogramUpdate in context.Organograms.Where(w => w.UpperRole == Role).ToList()) { organogramUpdate.UpperRole = UpperRole; LoginInfoModel logingInfoModelOne = new LoginInfoModel(); PopulateLoginInfoCredencial populateLoginInfoCredencialOne = new PopulateLoginInfoCredencial(logingInfoModelOne); logingInfoModelOne = populateLoginInfoCredencialOne.getLoginInfoCredencial(); if (!populateLoginInfoCredencialOne.ValidateIPv4(logingInfoModelOne.LoginIp)) { return(RedirectToAction("Login", "Account")); } logingInfoModelOne.UsedModel = "Organogram"; logingInfoModelOne.TypeOfAction = TypeOfAction.Update; logingInfoModelOne.Data = Newtonsoft.Json.JsonConvert.SerializeObject(organogramUpdate); logingInfoModelOne.SysDate = DateTime.Now; logingInfoModelList.Add(logingInfoModelOne); } context.LoginInfoModels.AddRange(logingInfoModelList); context.Organograms.Remove(organogram); context.SaveChanges(); dbContextTransaction.Commit(); return(RedirectToAction("Index")); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Core.EntityCommandCompilationException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Core.UpdateException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) //DbContext { dbContextTransaction.Rollback(); } catch (Exception ex) { dbContextTransaction.Rollback(); } } } Organogram organogramTemp = db.Organograms.Find(id); if (organogramTemp == null) { return(HttpNotFound()); } return(View(organogramTemp)); }
public ActionResult Edit([Bind(Include = "Id,Depart,Role,UpperRole")] Organogram organogram) { MembershipHelp mHelp = new MembershipHelp(); var role = mHelp.logingUserRole(User.Identity.Name); var roleId = db.RoleMasters.Where(w => w.Name == role).Select(s => s.Id).FirstOrDefault(); var canEdit = (from m in db.MenuInfoes join rm in db.RoleMenuMappings on m.Id equals rm.MenuInfoId where m.MenuURL.Contains("Organograms") && rm.RoleId == roleId select rm.CanEdit).FirstOrDefault(); if (!canEdit || db.Organograms.Min(o => o.Id) == organogram.Id || db.Organograms.Where(w => w.Id != organogram.Id && w.Role == organogram.Role).Count() > 0) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { using (var context = new ApplicationDbContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { var organogramToUpdate = context.Organograms.Where(w => w.Id == organogram.Id).FirstOrDefault(); organogramToUpdate.Depart = organogram.Depart; organogramToUpdate.Role = organogram.Role; organogramToUpdate.UpperRole = organogram.UpperRole; List <LoginInfoModel> logingInfoModelList = new List <LoginInfoModel>(); // Saving Longing Credential LoginInfoModel logingInfoModel = new LoginInfoModel(); PopulateLoginInfoCredencial populateLoginInfoCredencial = new PopulateLoginInfoCredencial(logingInfoModel); logingInfoModel = populateLoginInfoCredencial.getLoginInfoCredencial(); if (!populateLoginInfoCredencial.ValidateIPv4(logingInfoModel.LoginIp)) { return(RedirectToAction("Login", "Account")); } logingInfoModel.UsedModel = "Organogram"; logingInfoModel.TypeOfAction = TypeOfAction.Update; logingInfoModel.Data = Newtonsoft.Json.JsonConvert.SerializeObject(organogramToUpdate); logingInfoModel.SysDate = DateTime.Now; logingInfoModelList.Add(logingInfoModel); string PreviousRole = context.Organograms.Where(w => w.Id == organogramToUpdate.Id).FirstOrDefault().Role; foreach (var organogramUpdate in context.Organograms.Where(w => w.UpperRole == PreviousRole).ToList()) { organogramUpdate.UpperRole = organogram.Role; LoginInfoModel logingInfoModelOne = new LoginInfoModel(); PopulateLoginInfoCredencial populateLoginInfoCredencialOne = new PopulateLoginInfoCredencial(logingInfoModelOne); logingInfoModelOne = populateLoginInfoCredencialOne.getLoginInfoCredencial(); if (!populateLoginInfoCredencialOne.ValidateIPv4(logingInfoModelOne.LoginIp)) { return(RedirectToAction("Login", "Account")); } logingInfoModelOne.UsedModel = "Organogram"; logingInfoModelOne.TypeOfAction = TypeOfAction.Update; logingInfoModelOne.Data = Newtonsoft.Json.JsonConvert.SerializeObject(organogramUpdate); logingInfoModelOne.SysDate = DateTime.Now; logingInfoModelList.Add(logingInfoModelOne); } context.LoginInfoModels.AddRange(logingInfoModelList); context.Entry(organogramToUpdate).State = EntityState.Modified; context.SaveChanges(); dbContextTransaction.Commit(); return(RedirectToAction("Index")); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Core.EntityCommandCompilationException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Core.UpdateException ex) { dbContextTransaction.Rollback(); } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) //DbContext { dbContextTransaction.Rollback(); } catch (Exception ex) { dbContextTransaction.Rollback(); } } } } return(View(organogram)); }