Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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
            {
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
        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));
            }
        }