Esempio n. 1
0
        public IHttpActionResult GetItemRequestFormDelinquents([FromBody] ItemRequestDelinquentRequestModel request)
        {
            var container = ContainerConfig.Configure();

            using (var scope = container.BeginLifetimeScope())
            {
                var app = scope.Resolve <IItemRequestFormBusinessLayer>();

                var result = app.GetItemRequestFormDelinquents(request);

                return(Json(result));
            }
        }
        public ItemRequestDelinquentSearchResponseModel GetItemRequestFormDelinquents(ItemRequestDelinquentRequestModel request)
        {
            ItemRequestDelinquentQueryModel          delinquentQuery = new ItemRequestDelinquentQueryModel();
            ItemRequestDelinquentResultModel         singleItem      = new ItemRequestDelinquentResultModel();
            ItemRequestDelinquentSearchResponseModel result          = new ItemRequestDelinquentSearchResponseModel();

            result.SearchResult = new List <ItemRequestDelinquentResultModel>();

            var followupDays = _itemRequestFormDataAccess.GetAllFollowupDetails().CodeDetails.ToList();

            DateTime FirstFollowup  = DateTime.Now.AddDays(-(Int32.Parse(followupDays.Where(x => x.CodeDesc.Contains("First follow-up")).FirstOrDefault().CodeValue)));
            DateTime SecondFollowup = DateTime.Now.AddDays(-(Int32.Parse(followupDays.Where(x => x.CodeDesc.Contains("Second follow-up")).FirstOrDefault().CodeValue)));
            DateTime ThirdFollowup  = DateTime.Now.AddDays(-(Int32.Parse(followupDays.Where(x => x.CodeDesc.Contains("Third follow-up")).FirstOrDefault().CodeValue)));

            delinquentQuery.ModuleNm           = "itemrequestdelinquents";
            delinquentQuery.FirstFollowupDate  = FirstFollowup;
            delinquentQuery.SecondFollowupDate = SecondFollowup;
            delinquentQuery.ThirdFollowupDate  = ThirdFollowup;
            delinquentQuery.NextBatch          = (request.CurrentPage - 1) * 10;

            var delinquents = _itemRequestFormDataAccess.GetItemRequestFormDelinquents(delinquentQuery);

            for (int i = 0; i < delinquents.SearchResult.Count; i++)
            {
                singleItem.Id          = delinquents.SearchResult[i].Id;
                singleItem.Title       = delinquents.SearchResult[i].Title;
                singleItem.DateCreated = delinquents.SearchResult[i].DateCreated;
                singleItem.Status      = delinquents.SearchResult[i].Status;

                switch (delinquents.SearchResult[i].TicketStatus.ToLower())
                {
                case "other":
                    singleItem.TicketStatus = "Incomplete ticket";
                    break;

                case "first":
                    singleItem.TicketStatus = "First follow-up";
                    break;

                case "second":
                    singleItem.TicketStatus = "Second follow-up";
                    break;

                case "third":
                    singleItem.TicketStatus = "Third follow-up";
                    break;

                default:
                    singleItem.TicketStatus = "";
                    break;
                }

                result.RecordCount = delinquents.RecordCount;
                result.SearchResult.Add(singleItem);
                singleItem = new ItemRequestDelinquentResultModel();
            }

            return(result);
        }