Ejemplo n.º 1
0
        public async Task <ActionResult> Delete(int?id)
        {
            var restroomViewModel = new RestroomViewModel();

            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                using (var service = new RestroomService())
                {
                    restroomViewModel.CurrentRestroom = await service.GetApprovedRestroomAsync(id);

                    restroomViewModel.ToiletGenders = service.GetToiletGenders();
                }

                if (restroomViewModel == null)
                {
                    return(HttpNotFound());
                }
            }
            catch (Exception ex)
            {
                Logger.WriteError("ACTransit.RestroomFinder.Web.RestroomController.Delete", ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }

            return(View(restroomViewModel));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Details(int?id, int page = 1, string sortField = "AddDateTime", string sortDirection = "Descending")
        {
            var restroomViewModel = new RestroomViewModel();

            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                //Persit information for next page load
                ViewBag.SortField     = sortField ?? "AddDateTime";
                ViewBag.SortDirection = sortDirection ?? "Ascending";
                ViewBag.Page          = page;

                using (var restroomService = new RestroomService())
                {
                    restroomViewModel.CurrentRestroom = await restroomService.GetApprovedRestroomAsync(id);

                    restroomViewModel.ToiletGenders = restroomService.GetToiletGenders();
                }

                using (var feedbackService = new FeedbackService())
                {
                    restroomViewModel.RestroomFeedback = await feedbackService.GetRestroomFeedbackAsync(new FeedbackSearchContext
                    {
                        RestroomId    = id,
                        SortField     = sortField,
                        SortDirection = sortDirection != null && sortDirection.Equals("Ascending", StringComparison.CurrentCultureIgnoreCase)
                        ? System.Web.Helpers.SortDirection.Ascending
                        : System.Web.Helpers.SortDirection.Descending,
                        PageNumber = page
                    });
                }

                using (var contactService = new ContactService())
                {
                    restroomViewModel.RestroomContacts = await contactService.GetContactsAsync(new ContactSearchContext
                    {
                        SortField     = "ServiceProvider",
                        SortDirection = System.Web.Helpers.SortDirection.Ascending,
                        PageNumber    = 1,
                        PageSize      = 1
                    });
                }

                if (restroomViewModel.CurrentRestroom?.ContactId != null)
                {
                    restroomViewModel.CurrentContact = restroomViewModel.RestroomContacts.FirstOrDefault(c =>
                                                                                                         c.ContactId == (int)restroomViewModel.CurrentRestroom.ContactId) ??
                                                       new RestroomContact();
                }

                if (restroomViewModel == null)
                {
                    return(HttpNotFound());
                }
            }
            catch (Exception ex)
            {
                Logger.WriteError("ACTransit.RestroomFinder.Web.RestroomController.Details", ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }

            return(View(restroomViewModel));
        }