示例#1
0
        public IActionResult GetRptSite()
        {
            IEnumerable <ReportSiteOutputModel> OutPutData = null;
            ReportSiteInputModel filter = new ReportSiteInputModel();

            filter.NoBillboard  = "";
            filter.Kota         = "";
            filter.Provinsi     = "";
            filter.MediaOwnerID = Guid.Parse("");
            filter.IsBooked     = true;
            filter.IsPurchased  = true;
            filter.PageSize     = 1000;
            filter.PageNumber   = 1;
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(BaseAPI + "Dashboard/");
                var responseTask = client.PostAsJsonAsync <ReportSiteInputModel>("ReportSite", filter);
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var content = result.Content.ReadAsStringAsync();
                    ReportSiteResponseModel resutl = Newtonsoft.Json.JsonConvert.DeserializeObject <ReportSiteResponseModel>(content.Result);
                    OutPutData = resutl.data;
                }
                else                 //web api sent error response
                {
                    //log response status here..
                    OutPutData = Enumerable.Empty <ReportSiteOutputModel>();
                    ModelState.AddModelError(string.Empty, "Terjadi kesalahan. Mohon hubungi admin.");
                }
            }
            return(Json(OutPutData));
        }
示例#2
0
        public ActionResult <ReportSiteResponseModel> ReportSite([FromBody] ReportSiteInputModel data)
        {
            ReportSiteResponseModel res = new ReportSiteResponseModel();

            try
            {
                ReportBL bl   = new ReportBL(db);
                var      temp = bl.GetReportSite(data);

                res.data       = temp.data;
                res.Message    = "Success";
                res.Response   = true;
                res.TotalPages = temp.TotalPages;
                res.TotalData  = temp.TotalData;

                return(res);
            }
            catch (Exception ex)
            {
                res.Message  = ex.Message;
                res.Response = false;

                return(res);
            }
        }
示例#3
0
        public ReportSiteResultModel GetReportSite(ReportSiteInputModel data)
        {
            var today = DateTime.Now;

            var query = (from b in db.BookDetail
                         join s in db.TitikLokasi on b.SiteID equals s.ID
                         join u in db.User on s.OwnerByUserID equals u.ID
                         select new ReportSiteOutputModel()
            {
                MediaOwnerGuid = u.ID,
                MediaOwnerName = u.FirstName + " " + u.LastName,
                Kota = s.Kota,
                Provinsi = s.Provinsi,
                NoBillBoard = s.NoBillboard + db.TitikLokasiDetail.Where(x => x.TitikLokasiID == s.ID && x.ID == b.SiteItemID).Select(x => x.ArahLokasi).FirstOrDefault() != "" ? db.TitikLokasiDetail.Where(x => x.TitikLokasiID == s.ID && x.ID == b.SiteItemID).Select(x => x.ArahLokasi).FirstOrDefault() : "",
                Status = db.Book.Where(z => z.ID == b.BookID).Select(x => x.PaymentID).FirstOrDefault() != Guid.Empty ? "Purchased" : db.BookDetail.Where(x => today > x.EndDate && x.SiteID == s.ID && x.SiteItemID == b.SiteItemID).Count() > 0 ? "Available" : "Booked"
            });

            if (data.MediaOwnerID != null && data.MediaOwnerID != Guid.Empty)
            {
                query = (from q in query
                         where q.MediaOwnerGuid == data.MediaOwnerID
                         select new ReportSiteOutputModel()
                {
                    MediaOwnerGuid = q.MediaOwnerGuid,
                    MediaOwnerName = q.MediaOwnerName,
                    Kota = q.Kota,
                    Provinsi = q.Provinsi,
                    NoBillBoard = q.NoBillBoard,
                    Status = q.Status
                });
            }

            if (data.NoBillboard != null && data.NoBillboard != string.Empty)
            {
                query = (from q in query
                         where q.NoBillBoard.Contains(data.NoBillboard)
                         select new ReportSiteOutputModel()
                {
                    MediaOwnerGuid = q.MediaOwnerGuid,
                    MediaOwnerName = q.MediaOwnerName,
                    Kota = q.Kota,
                    Provinsi = q.Provinsi,
                    NoBillBoard = q.NoBillBoard,
                    Status = q.Status
                });
            }

            if (data.IsBooked != false)
            {
                query = (from q in query
                         where q.Status == "Booked"
                         select new ReportSiteOutputModel()
                {
                    MediaOwnerGuid = q.MediaOwnerGuid,
                    MediaOwnerName = q.MediaOwnerName,
                    Kota = q.Kota,
                    Provinsi = q.Provinsi,
                    NoBillBoard = q.NoBillBoard,
                    Status = q.Status
                });
            }

            if (data.IsPurchased != false)
            {
                query = (from q in query
                         where q.Status == "Purchased"
                         select new ReportSiteOutputModel()
                {
                    MediaOwnerGuid = q.MediaOwnerGuid,
                    MediaOwnerName = q.MediaOwnerName,
                    Kota = q.Kota,
                    Provinsi = q.Provinsi,
                    NoBillBoard = q.NoBillBoard,
                    Status = q.Status
                });
            }

            if (data.IsPurchased != false)
            {
                query = (from q in query
                         where q.Status == "Available"
                         select new ReportSiteOutputModel()
                {
                    MediaOwnerGuid = q.MediaOwnerGuid,
                    MediaOwnerName = q.MediaOwnerName,
                    Kota = q.Kota,
                    Provinsi = q.Provinsi,
                    NoBillBoard = q.NoBillBoard,
                    Status = q.Status
                });
            }

            int pageNumber = data.PageNumber - 1;

            query = query.Skip(pageNumber * data.PageSize).Take(data.PageSize);

            ReportSiteResultModel result = new ReportSiteResultModel();

            result.data       = query.ToList();
            result.TotalPages = (query.Count() / data.PageSize) + 1;
            result.TotalData  = query.Count();

            return(result);
        }