public IHttpActionResult ChangeComplainStatus(int complainId,string status) { try { string errorMessage = String.Empty; Complain complain = new Complain(); List<string> properties = new List<string>(); complain = _complain.GetAll(x=>x.ID == complainId).FirstOrDefault(); complain.ComplainStatus = status; properties.Add("ComplainStatus"); _complain.Update(complain,properties,out errorMessage); var messageData = new { code = String.IsNullOrEmpty(errorMessage) ? Constant.SuccessMessageCode : Constant.ErrorMessageCode , message = String.IsNullOrEmpty(errorMessage) ? Constant.MessageSuccess : errorMessage }; var returnObject = new { messageCode = messageData }; return Ok(returnObject); } catch (Exception ex) { string errorLogId = _eventLog.WriteLogs(User.Identity.Name, ex, MethodBase.GetCurrentMethod().Name); var messageData = new { code = Constant.ErrorMessageCode, message = String.Format(Constant.MessageTaskmateError, errorLogId) }; var returnObject = new { messageCode = messageData }; return Ok(returnObject); } }
private void GetLiveComplains() { try { ComplainsList = _complainService.GetAll().OrderByDescending(c => c.Id).ToList(); int serNo = 1; foreach (var complainDTO in ComplainsList) { complainDTO.SerialNumber = serNo; serNo++; } Complains = new ObservableCollection <ComplainDTO>(ComplainsList); TotalNumberofComplains = Complains.Count.ToString("N0"); List <EmployeeDTO> emps = ComplainsList.Select(c => c.Employee).Distinct().ToList(); Employees = new ObservableCollection <EmployeeDTO>(emps); } catch { } }
public ActionResult Index(string searchText, int?page, int?pageSize, int?ptype, int?processStatusId) { var criteria = new SearchCriteria <ComplainDTO> { CurrentUserId = WebSecurity.CurrentUserId }; @ViewData["processStatusId"] = processStatusId; if (processStatusId != null && processStatusId > -1) { var compStatus = (ComplainStatusTypes)processStatusId; criteria.FiList.Add(p => p.Status == compStatus); @ViewData["ComplainStatusHeader"] = compStatus; } else if (processStatusId == -1) { @ViewData["ComplainStatusHeader"] = "All"; } else if (processStatusId == null) { criteria.FiList.Add(p => p.Status == ComplainStatusTypes.Opened || p.Status == ComplainStatusTypes.ReOpened || p.Status == ComplainStatusTypes.OnProcess); @ViewData["ComplainStatusHeader"] = "New/Reopened/OnProcess"; } #region Search Text if (!string.IsNullOrEmpty(searchText)) { ViewData["ItemSearch"] = "search results for '<strong style='font-size:14px;'>" + searchText + "</strong>'"; ViewData["SearchText"] = searchText; ViewData["ItemSearchHidden"] = "visible"; } else { ViewData["ItemSearch"] = string.Empty; ViewData["SearchText"] = string.Empty; ViewData["ItemSearchHidden"] = "hidden"; } if (!string.IsNullOrEmpty(searchText)) { criteria.FiList.Add(bp => bp.Complain.ToLower().Contains(searchText.ToLower()) || bp.RaisedByName.ToLower().Contains(searchText.ToLower())); } #endregion #region Paging if (page != null && ptype != null && pageSize != null) { criteria.Page = (int)(page + ptype); criteria.PageSize = (int)pageSize; if (criteria.Page < 1) { criteria.Page = 1; } } else { criteria.Page = 1; criteria.PageSize = 10; } if (criteria.Page == 1) { ViewData["prevDisabled"] = "none"; } ViewData["Page"] = criteria.Page; ViewData["PageSize"] = criteria.PageSize; #endregion int totalCount; var complains = _complainService.GetAll(criteria, out totalCount); @ViewData["totalNumber"] = totalCount; #region Paging var pages = HelperUtility.GetPages(totalCount, criteria.PageSize); ViewData["totalPages"] = pages; if (pages == 0) { criteria.Page = 0; ViewData["Page"] = 0; } if (criteria.Page == pages) { ViewData["nextDisabled"] = "none"; } #endregion #region For Serial Number var sNo = (criteria.Page - 1) * criteria.PageSize + 1; foreach (var complainDTO in complains) { complainDTO.SerialNumber = sNo; sNo++; } #endregion if (Request.IsAjaxRequest()) { if (!Request.IsAuthenticated) { Redirect("~/Account/Login"); } return(PartialView("_complain", complains)); } return(View(complains)); }
public IHttpActionResult GetDashboardCounts() { try { DashBoardViewModel dashboardView = new DashBoardViewModel(); DashBoardEntityModel dashboard = new DashBoardEntityModel(); //dashboard = _common.GetDashBoardCounts(); int BestDriverMonth = 0; int BestDriverYear = 0; int BestConductorMonth = 0; int BestConductorYear = 0; int rednoticeDriver = 0; int rednoticeCon = 0; int highestDriverComplain = 0; int highestConductorComplain = 0; int HighestConductorPoints = 0; int HighestDriverPoints = 0; List <Member> membesDateList = new List <Member>(); IEnumerable <Member> memberList = new List <Member>(); memberList = _member.GetAll().ToList(); foreach (Member mem in memberList) { if (mem.MemberType.Code == "Driver") { int point = 0; IEnumerable <DeMerit> memberDe = _demerit.GetAll(x => x.MemberId == mem.ID).ToList(); memberDe = memberDe.Where(x => x.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && x.CreatedDate.Date <= DateTime.Now.Date).ToList(); if (memberDe.Count() < 2) { if (_complain.GetAll(x => x.DriverId == mem.ID).Count() < 2) { BestDriverMonth++; } } else if (memberDe.Count() == 0) { if (_complain.GetAll(x => x.DriverId == mem.ID).Count() < 2) { BestDriverMonth++; } } } else { int point = 0; IEnumerable <DeMerit> memberDe = _demerit.GetAll(x => x.MemberId == mem.ID).ToList(); memberDe = memberDe.Where(x => x.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && x.CreatedDate.Date <= DateTime.Now.Date).ToList(); if (memberDe.Count() < 2) { if (_complain.GetAll(x => x.ConductorId == mem.ID).Count() < 2) { BestConductorMonth++; } } else if (memberDe.Count() == 0) { if (_complain.GetAll(x => x.ConductorId == mem.ID).Count() < 2) { BestConductorMonth++; } } } } foreach (Member mem in memberList) { if (mem.MemberType.Code == "Driver") { int point = 0; IEnumerable <DeMerit> memberDe = _demerit.GetAll(x => x.MemberId == mem.ID).ToList(); memberDe = memberDe.Where(x => x.CreatedDate.Date >= DateTime.Now.Date.AddYears(-1) && x.CreatedDate.Date <= DateTime.Now.Date).ToList(); if (memberDe.Count() < 2) { if (_complain.GetAll(x => x.DriverId == mem.ID).Count() < 2) { BestDriverYear++; } } else if (memberDe.Count() == 0) { if (_complain.GetAll(x => x.DriverId == mem.ID).Count() < 2) { BestDriverYear++; } } } else { int point = 0; IEnumerable <DeMerit> memberDe = _demerit.GetAll(x => x.MemberId == mem.ID).ToList(); memberDe = memberDe.Where(x => x.CreatedDate.Date >= DateTime.Now.Date.AddYears(-1) && x.CreatedDate.Date <= DateTime.Now.Date).ToList(); if (memberDe.Count() < 2) { if (_complain.GetAll(x => x.ConductorId == mem.ID).Count() < 2) { BestConductorYear++; } } else if (memberDe.Count() == 0) { if (_complain.GetAll(x => x.ConductorId == mem.ID).Count() < 2) { BestConductorYear++; } } } } IEnumerable <DeMerit> memberDem = _demerit.GetAll().ToList(); memberDem = memberDem.Where(x => x.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && x.CreatedDate.Date <= DateTime.Now.Date.AddDays(1)).ToList(); List <MeritDashBoardView> meritIdlistDriver = new List <MeritDashBoardView>(); List <MeritDashBoardView> meritIdlistCond = new List <MeritDashBoardView>(); foreach (DeMerit de in memberDem) { if (de.Member.MemberType.Code == "Driver") { IEnumerable <MemberDeMerit> memDe = de.MemberDeMerits.Where(x => x.Merit.ColorCodeId == 1).ToList(); foreach (MemberDeMerit memdem in memDe.Where(z => z.Point != 0)) { var a = meritIdlistDriver.Find(x => x.id == memdem.Merit.ID && x.memberId == de.MemberId); if (a == null) { MeritDashBoardView md = new MeritDashBoardView(); md.id = memdem.Merit.ID; md.point += memdem.Point; md.memberId = de.MemberId; meritIdlistDriver.Add(md); } else { a.point += memdem.Point; } } } else { IEnumerable <MemberDeMerit> memDe = de.MemberDeMerits.Where(x => x.Merit.ColorCodeId == 1).ToList(); foreach (MemberDeMerit memdem in memDe.Where(z => z.Point != 0)) { var a = meritIdlistCond.Find(x => x.id == memdem.Merit.ID && x.memberId == de.MemberId); if (a == null) { MeritDashBoardView md = new MeritDashBoardView(); md.id = memdem.Merit.ID; md.point += memdem.Point; md.memberId = de.MemberId; meritIdlistCond.Add(md); } else { a.point += memdem.Point; } } } } rednoticeDriver = meritIdlistDriver.Count() <= 0 ? 0 : meritIdlistDriver.Where(x => x.point > 2).GroupBy(z => z.memberId).Count(); rednoticeCon = meritIdlistCond.Count() <= 0 ? 0 : meritIdlistCond.Where(x => x.point > 2).GroupBy(z => z.memberId).Count(); IEnumerable <Complain> driverComplain = _complain.GetAll(x => x.Member.MemberType.Code == "Driver" && x.ComplainStatus != "Resolve"); IEnumerable <Complain> conductComplain = _complain.GetAll(x => x.Member1.MemberType.Code == "Conductor" && x.ComplainStatus != "Resolve"); List <MeritDashBoardView> highDriver = new List <MeritDashBoardView>(); List <MeritDashBoardView> highCond = new List <MeritDashBoardView>(); foreach (Complain dcomp in driverComplain) { var a = highDriver.Find(x => x.memberId == dcomp.DriverId); if (a == null && dcomp.DriverId != null) { MeritDashBoardView md = new MeritDashBoardView(); md.point = 1; md.memberId = dcomp.DriverId.Value; highDriver.Add(md); } else if (dcomp.DriverId != null) { a.point++; } } foreach (Complain dcomp in conductComplain) { var a = highCond.Find(x => x.memberId == dcomp.ConductorId); if (a == null && dcomp.ConductorId != null) { MeritDashBoardView md = new MeritDashBoardView(); md.point = 1; md.memberId = dcomp.ConductorId.Value; highCond.Add(md); } else if (dcomp.ConductorId != null) { a.point++; } } int maxcomplain = highDriver.Count() <= 0 ? 0 :highDriver.Max(x => x.point); int maxcomplaincon = highCond.Count() <= 0? 0 : highCond.Max(x => x.point); highDriver = highDriver.Where(w => w.point == maxcomplain).ToList(); highCond = highCond.Where(w => w.point == maxcomplaincon).ToList(); highestDriverComplain = highDriver.Count(); highestConductorComplain = highCond.Count(); IEnumerable <DeMerit> deMeritCond = _demerit.GetAll(z => z.Member.MemberType.Code == "Conductor").ToList(); deMeritCond = deMeritCond.Where(c => c.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && c.CreatedDate <= DateTime.Now.Date).ToList(); List <MeritDashBoardView> deMListCond = new List <MeritDashBoardView>(); List <MeritDashBoardView> deMListDri = new List <MeritDashBoardView>(); foreach (DeMerit deme in deMeritCond) { var a = deMListCond.Find(x => x.memberId == deme.MemberId); if (a == null) { MeritDashBoardView ax = new MeritDashBoardView(); ax.memberId = deme.MemberId; ax.point = deme.MemberDeMerits.Sum(x => x.Point); deMListCond.Add(ax); } else { a.point += deme.MemberDeMerits.Sum(x => x.Point); } } int maxvalc = deMListCond.Count() <= 0 ? 0 : deMListCond.Max(d => d.point); IEnumerable <DeMerit> deMeritDriv = _demerit.GetAll(z => z.Member.MemberType.Code == "Driver").ToList(); deMeritDriv = deMeritDriv.Where(c => c.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && c.CreatedDate <= DateTime.Now.Date).OrderBy(s => s.MemberDeMerits.Sum(a => a.Point)).ToList(); List <MeritDashBoardView> deMList = new List <MeritDashBoardView>(); foreach (DeMerit deme in deMeritDriv) { var a = deMListDri.Find(x => x.memberId == deme.MemberId); if (a == null) { MeritDashBoardView ax = new MeritDashBoardView(); ax.memberId = deme.MemberId; ax.point = deme.MemberDeMerits.Sum(x => x.Point); deMListDri.Add(ax); } else { a.point += deme.MemberDeMerits.Sum(x => x.Point); } } int maxvald = deMListDri.Count() <= 0 ? 0 : deMListDri.Max(d => d.point); HighestConductorPoints = maxvalc == 0 ? 0 : deMListCond.Where(x => x.point == maxvalc).Count(); HighestDriverPoints = maxvald == 0 ? 0 : deMListDri.Where(x => x.point == maxvald).Count(); if (dashboard != null) { dashboardView.highestConductorComplain = highestConductorComplain; dashboardView.highestDriverComplain = highestDriverComplain; dashboardView.highestConductorPoints = HighestConductorPoints; dashboardView.highestDriverPoints = HighestDriverPoints; dashboardView.redNoticeConductors = rednoticeCon; // dashboard.RedNoticeConductors; dashboardView.redNoticeDrivers = rednoticeDriver; // dashboard.RedNoticeDrivers; dashboardView.bestdriversofYear = BestDriverYear; dashboardView.bestConductorsofYear = BestConductorYear; dashboardView.bestdriversofMonth = BestDriverMonth; dashboardView.bestConductorsofMonth = BestConductorMonth; } var messageData = new { code = Constant.SuccessMessageCode, message = Constant.MessageSuccess }; var returnObject = new { dashboard = dashboardView, messageCode = messageData }; return(Ok(returnObject)); } catch (Exception ex) { string errorLogId = _eventLog.WriteLogs(User.Identity.Name, ex, MethodBase.GetCurrentMethod().Name); var messageData = new { code = Constant.ErrorMessageCode, message = String.Format(Constant.MessageTaskmateError, errorLogId) }; var returnObject = new { messageCode = messageData }; return(Ok(returnObject)); } }
public IHttpActionResult GetMember(int Id) { try { bool rednotice = false; bool adpanel = false; bool finepay = false; bool punish = false; bool bestmember = true; MemberViewModel memberView = new MemberViewModel(); Member member = new Member(); member = _member.GetMember(Id); IEnumerable <DeMerit> demerit = new List <DeMerit>(); DeMeritMemberTypeViewModel deMeritMemType = new DeMeritMemberTypeViewModel(); deMeritMemType.driver = new DeMeritTypeSetViewModel(); deMeritMemType.driver.adPannel = new List <DeMeritTypeViewModel>(); deMeritMemType.driver.finePay = new List <DeMeritTypeViewModel>(); deMeritMemType.driver.punish = new List <DeMeritTypeViewModel>(); deMeritMemType.driver.cancel = new List <DeMeritTypeViewModel>(); demerit = _demerit.GetAll(x => x.MemberId == Id).ToList(); if (demerit != null) { demerit = demerit.Where(y => y.CreatedDate.Date >= DateTime.Now.Date.AddMonths(-1) && y.CreatedDate <= DateTime.Now.Date.AddDays(1)).ToList(); foreach (DeMerit de in demerit) { IEnumerable <MemberDeMerit> memDe = de.MemberDeMerits.Where(x => x.DeMeritId == de.ID).ToList(); foreach (MemberDeMerit mem in memDe) { switch (mem.Merit.ColorCodeId) { case 1: var a = deMeritMemType.driver.cancel.Find(x => x.meritId == mem.MeritId); if (a == null && mem.Point > 0) { DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = de.Member.ID; ad.name = de.Member.FullName; ad.ntcNo = de.Member.NTCNo; ad.point = mem.Point; ad.meritId = mem.MeritId; deMeritMemType.driver.cancel.Add(ad); } else if (a != null && mem.Point > 0) { a.point += mem.Point; } break; case 2: var b = deMeritMemType.driver.adPannel.Find(x => x.meritId == mem.MeritId); if (b == null && mem.Point > 0) { DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = de.Member.ID; ad.name = de.Member.FullName; ad.ntcNo = de.Member.NTCNo; ad.point = mem.Point; ad.meritId = mem.MeritId; deMeritMemType.driver.adPannel.Add(ad); } else if (b != null && mem.Point > 0) { b.point += mem.Point; } break; case 3: var c = deMeritMemType.driver.punish.Find(x => x.meritId == mem.MeritId); if (c == null && mem.Point > 0) { DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = de.Member.ID; ad.name = de.Member.FullName; ad.ntcNo = de.Member.NTCNo; ad.point = mem.Point; ad.meritId = mem.MeritId; deMeritMemType.driver.punish.Add(ad); } else if (c != null && mem.Point > 0) { c.point += mem.Point; } break; case 4: var d = deMeritMemType.driver.finePay.Find(x => x.meritId == mem.MeritId); if (d == null && mem.Point > 0) { DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = de.Member.ID; ad.name = de.Member.FullName; ad.ntcNo = de.Member.NTCNo; ad.point = mem.Point; ad.meritId = mem.MeritId; deMeritMemType.driver.finePay.Add(ad); } else if (d != null && mem.Point > 0) { d.point += mem.Point; } break; default: break; } } } List <int> admem = new List <int>(); deMeritMemType.driver.adPannel = deMeritMemType.driver.adPannel.Where(x => x.point > 2).ToList(); admem = deMeritMemType.driver.adPannel.Select(x => x.id).Distinct().ToList(); deMeritMemType.driver.adPannel.Clear(); foreach (int i in admem) { Member mem = _member.GetAll(x => x.ID == i).FirstOrDefault(); DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = mem.ID; ad.name = mem.FullName; ad.ntcNo = mem.NTCNo; deMeritMemType.driver.adPannel.Add(ad); } admem.Clear(); deMeritMemType.driver.finePay = deMeritMemType.driver.finePay.Where(x => x.point > 2).ToList(); admem = deMeritMemType.driver.finePay.Select(x => x.id).Distinct().ToList(); deMeritMemType.driver.finePay.Clear(); foreach (int i in admem) { Member mem = _member.GetAll(x => x.ID == i).FirstOrDefault(); DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = mem.ID; ad.name = mem.FullName; ad.ntcNo = mem.NTCNo; deMeritMemType.driver.finePay.Add(ad); } admem.Clear(); deMeritMemType.driver.punish = deMeritMemType.driver.punish.Where(x => x.point > 2).ToList(); admem = deMeritMemType.driver.punish.Select(x => x.id).Distinct().ToList(); deMeritMemType.driver.punish.Clear(); foreach (int i in admem) { Member mem = _member.GetAll(x => x.ID == i).FirstOrDefault(); DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = mem.ID; ad.name = mem.FullName; ad.ntcNo = mem.NTCNo; deMeritMemType.driver.punish.Add(ad); } admem.Clear(); deMeritMemType.driver.cancel = deMeritMemType.driver.cancel.Where(x => x.point > 2).ToList(); admem = deMeritMemType.driver.cancel.Select(x => x.id).Distinct().ToList(); deMeritMemType.driver.cancel.Clear(); foreach (int i in admem) { Member mem = _member.GetAll(x => x.ID == i).FirstOrDefault(); DeMeritTypeViewModel ad = new DeMeritTypeViewModel(); ad.id = mem.ID; ad.name = mem.FullName; ad.ntcNo = mem.NTCNo; deMeritMemType.driver.cancel.Add(ad); } rednotice = deMeritMemType.driver.cancel.Count() > 0 ? true : false; adpanel = deMeritMemType.driver.adPannel.Count() > 0 ? true : false; finepay = deMeritMemType.driver.finePay.Count() > 0 ? true : false; punish = deMeritMemType.driver.punish.Count() > 0 ? true : false; if (demerit.Count() >= 2) { bestmember = false; } if (_complain.GetAll(x => x.ConductorId == Id || x.DriverId == Id).Count() > 2) { bestmember = false; } } IEnumerable <Complain> complains = new List <Complain>(); complains = _complain.GetAll(x => x.ComplainStatus == "Unresolved" && (x.DriverId == Id || x.ConductorId == Id)).ToList(); if (member != null) { memberView.id = member.ID; memberView.userID = member.UserID == null ? 0 : member.UserID.Value; memberView.fullName = String.IsNullOrEmpty(member.FullName) ? String.Empty : member.FullName; memberView.nameWithInitial = String.IsNullOrEmpty(member.ShortName) ? String.Empty : member.ShortName; memberView.currentAddress = String.IsNullOrEmpty(member.CurrentAddress) ? String.Empty : member.CurrentAddress; memberView.permanetAddress = String.IsNullOrEmpty(member.PermanetAddress) ? String.Empty : member.PermanetAddress; memberView.nic = String.IsNullOrEmpty(member.NIC) ? String.Empty : member.NIC; memberView.dob = member.DOB.ToString("yyyy-MM-dd"); memberView.cetificateNo = String.IsNullOrEmpty(member.TrainingCertificateNo) ? String.Empty : member.TrainingCertificateNo; memberView.trainingCenter = String.IsNullOrEmpty(member.TrainingCenter) ? String.Empty : member.TrainingCenter; memberView.licenceNo = String.IsNullOrEmpty(member.LicenceNo) ? String.Empty : member.LicenceNo; memberView.dateIssued = member.IssuedDate.ToString("yyyy-MM-dd"); memberView.dateValidity = member.ExpireDate.ToString("yyyy-MM-dd"); memberView.dateJoin = member.JoinDate.ToString("yyyy-MM-dd"); memberView.educationQuali = String.IsNullOrEmpty(member.HighestEducation) ? String.Empty : member.HighestEducation; memberView.type = member.MemberType.Code; memberView.imagePath = member.ImagePath; memberView.isNotification1 = rednotice; memberView.notification1 = rednotice ? "Red Noticed" : String.Empty; memberView.isNotification2 = bestmember && memberView.isNotification1 == false ? true : false; memberView.notification2 = bestmember && memberView.isNotification1 == false ? "Best " + member.MemberType.Code : String.Empty; memberView.isNotification3 = complains.Count() > 0 && complains != null ? true : false; memberView.notification3 = complains.Count() > 0 && complains != null?complains.Count() + " Unresolved Complains" : String.Empty; memberView.isNotification4 = adpanel; memberView.notification4 = adpanel ? "Advising Panel ": String.Empty; memberView.isNotification5 = finepay; memberView.notification5 = finepay ? "Fine Payments" : String.Empty; memberView.isNotification6 = punish; memberView.notification6 = punish ? "Punishment Training" : String.Empty; } var messageData = new { code = Constant.SuccessMessageCode, message = Constant.MessageSuccess }; var returnObject = new { member = memberView, messageCode = messageData }; return(Ok(returnObject)); } catch (Exception ex) { string errorLogId = _eventLog.WriteLogs(User.Identity.Name, ex, MethodBase.GetCurrentMethod().Name); var messageData = new { code = Constant.ErrorMessageCode, message = String.Format(Constant.MessageTaskmateError, errorLogId) }; var returnObject = new { messageCode = messageData }; return(Ok(returnObject)); } }