// // GET: /StoreVist/ public ActionResult Index(string id = "", string customerid = "") { Logger.Debug("Inside CustomerView Controller- Index"); try { if (Session["OrganizationGUID"] != null) { StoreVisitReports pStoreVisitReports = new StoreVisitReports(); pStoreVisitReports.StoreVisitList = new List<StoreVisit>(); pStoreVisitReports.StoreNonVisitList = new List<MarketModel>(); Session["CustomerGUID"] = customerid; if (!string.IsNullOrEmpty(id)) { TempData["TabName"] = id; } else { TempData["TabName"] = "Visits"; } return View(pStoreVisitReports); } else { TempData["msg"] = "<script>ModalPopupsAlert('Workers-In-Motion','Session Expired');</script>"; return RedirectToAction("../User/Login"); } } catch (Exception ex) { Logger.Error(ex.Message); return null; } }
// // GET: /StoreVist/ public ActionResult Index(string id = "", string customerid = "", string FromDate = "", string ToDate = "", string Date = "", string selection = "", string LastModifiedDate = "", string Visit_RowCount = "", string NonVisit_RowCount = "", int page = 1, string Visit_Search = "", string NonVisit_Search = "", string hdnrecordsize="") { Logger.Debug("Inside CustomerView Controller- Index"); try { ViewBag.CustomerID = customerid; ViewBag.FromDate = FromDate; ViewBag.ToDate = ToDate; ViewBag.Date = Date; int visit_TotalPage = 0; int visit_TotalRecord = 0; int visit_pCount = 0; int nonvisit_TotalPage = 0; int nonvisit_TotalRecord = 0; int nonvisit_pCount = 0; if (Session["OrganizationGUID"] != null) { if (!string.IsNullOrEmpty(Visit_RowCount)) { int.TryParse(Visit_RowCount, out visit_pCount); pageVisitCountList(visit_pCount); } else { pageVisitCountList(visit_pCount); } if (!string.IsNullOrEmpty(NonVisit_RowCount)) { int.TryParse(NonVisit_RowCount, out nonvisit_pCount); pageNonVisitCountList(nonvisit_pCount); } else { pageNonVisitCountList(nonvisit_pCount); } if (!string.IsNullOrEmpty(Date)) { ViewBag.DateValue = HttpUtility.HtmlDecode(Date); Session["DateValue"] = Date; } else if (!string.IsNullOrEmpty(LastModifiedDate)) { Logger.Debug("Inside Last Modfied dislay"); if (!string.IsNullOrEmpty(FromDate) && !string.IsNullOrEmpty(ToDate)) { DateTime pFrom = new DateTime(), pTo = new DateTime(); if (ParseExact(FromDate, "dd-MM-yyyy", out pFrom)) { ParseExact(ToDate, "dd-MM-yyyy", out pTo); Logger.Debug("Inside"); string datevalue = pFrom.ToString("MMMM d, yyyy") + " - " + pTo.ToString("MMMM d, yyyy"); ViewBag.DateValue = datevalue; Session["DateValue"] = datevalue; } else { Logger.Debug("OutSide"); string datevalue = DateTime.Now.AddDays(-29).ToString("MMMM d, yyyy") + " - " + DateTime.Now.ToString("MMMM d, yyyy"); ViewBag.DateValue = datevalue; Session["DateValue"] = datevalue; } Logger.Debug("From Parst : " + pFrom); Logger.Debug("To Parse : " + pTo); } else { Logger.Debug("OutSide1"); string datevalue = DateTime.Now.AddDays(-29).ToString("MMMM d, yyyy") + " - " + DateTime.Now.ToString("MMMM d, yyyy"); ViewBag.DateValue = datevalue; Session["DateValue"] = datevalue; } } else { Logger.Error("OutSide2"); string datevalue = DateTime.Now.AddDays(-29).ToString("MMMM d, yyyy") + " - " + DateTime.Now.ToString("MMMM d, yyyy"); ViewBag.DateValue = datevalue; Session["DateValue"] = datevalue; } StoreVisitReports pStoreVisitReports = new StoreVisitReports(); pStoreVisitReports.StoreVisitList = new List<StoreVisit>(); pStoreVisitReports.StoreNonVisitList = new List<MarketModel>(); Session["CustomerGUID"] = customerid; if (!string.IsNullOrEmpty(id)) { TempData["TabName"] = id; } else { TempData["TabName"] = "Visits"; } StringBuilder sb = new StringBuilder(); StringBuilder sb1 = new StringBuilder(); sb.Append("<div class='actions'>"); sb.Append("<div class='btn-group'>"); sb1.Append("<div class='actions'>"); sb1.Append("<div class='btn-group'>"); if (!string.IsNullOrEmpty(customerid)) { Place pplace = _IPlaceRepository.GetPlaceByID(new Guid(customerid)); if (pplace != null) { Session["ClientCompanyName"] = pplace.PlaceName; sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>" + pplace.PlaceName + " <i class='icon-angle-down'></i></a>"); sb1.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>" + pplace.PlaceName + " <i class='icon-angle-down'></i></a>"); } } else { if (!string.IsNullOrEmpty(selection) && selection == "All") { sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>All <i class='icon-angle-down'></i></a>"); sb1.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>All <i class='icon-angle-down'></i></a>"); } else { sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>Select Client <i class='icon-angle-down'></i></a>"); sb1.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>Select Client <i class='icon-angle-down'></i></a>"); } } sb.Append("<ul id='ulworkgroup' style='height:100px;overflow-y:scroll' class='dropdown-menu pull-right'>"); sb1.Append("<ul id='ulworkgroup' style='height:100px;overflow-y:scroll' class='dropdown-menu pull-right'>"); if (string.IsNullOrEmpty(selection) || selection != "All") { //sb.Append("<li><a href=" + Url.Action("Index", new { id = "Visits", selection = "All" }) + ">All</a></li>"); //sb1.Append("<li><a href=" + Url.Action("Index", new { id = "Non-Visits", selection = "All" }) + ">All</a></li>"); sb.Append("<li><a onclick=\"RedirectAction('Visits','');\">All</a></li>"); sb1.Append("<li><a onclick=\"RedirectAction('NonVisits','');\">All</a></li>"); } List<Place> PlaceList = _IPlaceRepository.GetPlaceByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList(); foreach (Place item in PlaceList) { //sb.Append("<li><a href=" + Url.Action("Index", new { id = "Visits", customerid = item.PlaceGUID.ToString() }) + " data-groupguid=" + item.PlaceGUID + ">" + item.PlaceName + "</a></li>"); //sb1.Append("<li><a href=" + Url.Action("Index", new { id = "Non-Visits", customerid = item.PlaceGUID.ToString() }) + " data-groupguid=" + item.PlaceGUID + ">" + item.PlaceName + "</a></li>"); sb.Append("<li><a onclick=\"RedirectAction('Visits','" + item.PlaceGUID.ToString() + "');\" data-groupguid=" + item.PlaceGUID + ">" + item.PlaceName + "</a></li>"); sb1.Append("<li><a onclick=\"RedirectAction('NonVisits','" + item.PlaceGUID.ToString() + "');\" data-groupguid=" + item.PlaceGUID + ">" + item.PlaceName + "</a></li>"); } sb.Append("</ul>"); sb.Append("</div>"); sb.Append("</div>"); sb1.Append("</ul>"); sb1.Append("</div>"); sb1.Append("</div>"); ViewBag.CustomerListVisit = sb.ToString(); ViewBag.CustomerListNonVisit = sb1.ToString(); Market _market = new Market(); Job ljob = new Job(); ljob.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString()); _market.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString()); if (!string.IsNullOrEmpty(customerid)) { _market.OwnerGUID = new Guid(customerid); ljob.CustomerGUID = new Guid(customerid); } DateTime From, To, Datecontent, LModifiedDate; //LastModifiedDate = _IUserRepository.DecodeFrom64(LastModifiedDate); if (!string.IsNullOrEmpty(LastModifiedDate) && ParseExact(LastModifiedDate, "dd-MM-yyyy", out LModifiedDate)) { ljob.LastModifiedDate = LModifiedDate; _market.LastStoreVisitedDate = LModifiedDate; } else if (!string.IsNullOrEmpty(FromDate) && ParseExact(FromDate, "dd-MM-yyyy", out From)) _market.LastStoreVisitedDate = From; else _market.LastStoreVisitedDate = DateTime.Now.AddDays(-29); if (!string.IsNullOrEmpty(FromDate) && ParseExact(FromDate, "dd-MM-yyyy", out From)) { ljob.ActualStartTime = From; } else { Logger.Error("From Else"); ljob.ActualStartTime = DateTime.Now.AddDays(-29); } if (!string.IsNullOrEmpty(ToDate) && ParseExact(ToDate, "dd-MM-yyyy", out To)) { ljob.ActualEndTime = To; } else { Logger.Error("To Else"); ljob.ActualEndTime = DateTime.Now; } ljob.JobName = "Store Visit"; Logger.Debug("Job Object" + Newtonsoft.Json.JsonConvert.SerializeObject(ljob)); //FOr Regional Manager if (Session["UserType"] != null && !string.IsNullOrEmpty(Session["UserType"].ToString()) && Session["UserType"].ToString() == "ENT_U_RM" && Session["UserGUID"] != null) { OrganizationUsersMap OrgUserMap = _IOrganizationRepository.GetOrganizationUserMapByUserGUID(new Guid(Session["UserGUID"].ToString()), ljob.OrganizationGUID); if (OrgUserMap != null) { ljob.RegionGUID = OrgUserMap.RegionGUID; _market.RegionGUID = OrgUserMap.RegionGUID; } } //check the current user is Field Manager or not if (Session["UserType"] != null && !string.IsNullOrEmpty(Session["UserType"].ToString()) && Session["UserType"].ToString() == "ENT_U" && Session["UserGUID"] != null) { GlobalUser globalUser = _IGlobalUserRepository.GetGlobalUserByID(new Guid(Session["UserGUID"].ToString())); if (globalUser != null) { ljob.AssignedUserGUID = globalUser.UserGUID; _market.FMUserID = globalUser.USERID; } } List<Job> lstorevisit = _IJobRepository.GetStoreVisitJobs(ljob); List<Market> lstorenonvisit = new List<Market>(); lstorenonvisit = _IMarketRepository.GetStoreNonVisit(_market); if (lstorevisit != null && lstorevisit.Count > 0) { ViewBag.Visit_Search = Visit_Search; if (!string.IsNullOrEmpty(Visit_Search)) { Visit_Search = Visit_Search.ToLower(); lstorevisit = lstorevisit.Where( p => (!String.IsNullOrEmpty(_IRegionRepository.GetRegionNameByRegionGUID(new Guid(p.RegionGUID.ToString()))) && _IRegionRepository.GetRegionNameByRegionGUID(new Guid(p.RegionGUID.ToString())).ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(p.CustomerStopGUID.ToString()) && _IMarketRepository.GetMarketByID(new Guid(p.CustomerStopGUID.ToString())).MarketID.ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(p.PONumber) && _IMarketRepository.GetMarketByCustomerID(p.OrganizationGUID, _IPORepository.GetPObyPoNumber(p.PONumber).PlaceID, _IPORepository.GetPObyPoNumber(p.PONumber).MarketID).MarketID.ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(p.CustomerStopGUID.ToString()) && _IMarketRepository.GetMarketByID(new Guid(p.CustomerStopGUID.ToString())).MarketName.ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(p.PONumber) && _IMarketRepository.GetMarketByCustomerID(p.OrganizationGUID, _IPORepository.GetPObyPoNumber(p.PONumber).PlaceID, _IPORepository.GetPObyPoNumber(p.PONumber).MarketID).MarketName.ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(_IJobRepository.GetStatusName((int)p.StatusCode)) && _IJobRepository.GetStatusName((int)p.StatusCode).ToLower().Contains(Visit_Search)) || (!String.IsNullOrEmpty(_IUserProfileRepository.GetUserProfileByUserID(_IGlobalUserRepository.GetGlobalUserByID(new Guid(p.ManagerUserGUID.ToString())).UserGUID, p.OrganizationGUID).ToString()) && _IUserProfileRepository.GetUserProfileByUserID(_IGlobalUserRepository.GetGlobalUserByID(new Guid(p.ManagerUserGUID.ToString())).UserGUID, p.OrganizationGUID).ToString().ToLower().Contains(Visit_Search))).ToList(); } visit_TotalRecord = lstorevisit.ToList().Count; visit_TotalPage = (visit_TotalRecord / (int)ViewBag.pageVisitCountValue) + ((visit_TotalRecord % (int)ViewBag.pageVisitCountValue) > 0 ? 1 : 0); ViewBag.Visit_TotalRows = visit_TotalRecord; lstorevisit = lstorevisit.OrderBy(a => a.OrganizationGUID).Skip(((page - 1) * (int)ViewBag.pageVisitCountValue)).Take((int)ViewBag.pageVisitCountValue).ToList(); foreach (Job job in lstorevisit) { StoreVisit storevisit = ConvertToStoreVisit(job); if (storevisit != null) { pStoreVisitReports.StoreVisitList.Add(storevisit); } } } // Logger.Debug("Store Non Visit Count : " + lstorenonvisit.Count); if (lstorenonvisit != null && lstorenonvisit.Count > 0) { ViewBag.NonVisit_Search = NonVisit_Search; if (!string.IsNullOrEmpty(NonVisit_Search)) { NonVisit_Search = NonVisit_Search.ToLower(); lstorenonvisit = lstorenonvisit.Where( p => (!String.IsNullOrEmpty(p.RegionName) && p.RegionName.ToLower().Contains(NonVisit_Search)) || (!String.IsNullOrEmpty(p.MarketID) && p.MarketID.ToLower().Contains(NonVisit_Search)) || (!String.IsNullOrEmpty(p.MarketName) && p.MarketName.ToLower().Contains(NonVisit_Search))).ToList(); } nonvisit_TotalRecord = lstorenonvisit.ToList().Count; nonvisit_TotalPage = (nonvisit_TotalRecord / (int)ViewBag.pageNonCountValue) + ((nonvisit_TotalRecord % (int)ViewBag.pageNonCountValue) > 0 ? 1 : 0); ViewBag.NonVisit_TotalRows = nonvisit_TotalRecord; lstorenonvisit = lstorenonvisit.OrderBy(a => a.OrganizationGUID).Skip(((page - 1) * (int)ViewBag.pageNonCountValue)).Take((int)ViewBag.pageNonCountValue).ToList(); foreach (Market market in lstorenonvisit) { MarketModel _marketModel = ConvertToStoreNonVisit(market); if (_marketModel != null) { pStoreVisitReports.StoreNonVisitList.Add(_marketModel); } } } Session["StoreVisit"] = pStoreVisitReports.StoreVisitList; Session["StoreNonVisit"] = pStoreVisitReports.StoreNonVisitList; if (!string.IsNullOrEmpty(Visit_RowCount)) ViewBag.pageVisitCountValue = int.Parse(Visit_RowCount); else ViewBag.pageVisitCountValue = 5; if (!string.IsNullOrEmpty(NonVisit_RowCount)) ViewBag.pageNonCountValue = int.Parse(NonVisit_RowCount); else ViewBag.pageNonCountValue = 5; bool visit = false; bool nonvisit = false; if (null != Request && System.Text.RegularExpressions.Regex.IsMatch(Request.Url.ToString().Replace("-", ""), string.Format(@"\b{0}\b", "Visits"))) visit = true; if (null != Request && System.Text.RegularExpressions.Regex.IsMatch(Request.Url.ToString().Replace("-", ""), string.Format(@"\b{0}\b", "NonVisits"))) nonvisit = true; if (visit) TempData["TabName"] = "Visits"; else if(nonvisit) TempData["TabName"] = "Non-Visits"; return View(pStoreVisitReports); } else { return RedirectToAction("SessionTimeOut", "User"); } } catch (Exception ex) { Logger.Error(ex.Message); return RedirectToAction("Login", "User"); } }