Пример #1
0
        public ActionResult Create()
        {
            // Copy over the possibly applicable data to the listing so the user doesn't have to type it twice if it's the same as the account info.
            ListingViewModelEdit listing = new ListingViewModelEdit();
            //plamen: instead of copy get available account data and use
            AccountLogic accountLogic = new AccountLogic();
            var accountVM = accountLogic.GetByEmail(User.Identity.Name);

            ClientCardInfoLogic ClientCardInfoLogic = new ClientCardInfoLogic();

            if (accountVM != null)
            {
                var clientCardInfo = ClientCardInfoLogic.GetByClientGuid(accountVM.ClientGuid);
                if (null == clientCardInfo)
                    return RedirectToAction("ClientCardInfo","Account");
                listing = accountVM.FeedListing();
                this.AddListingTypesToListing(listing);
                this.AddTypesOfCareToListing(listing);
                this.AddFacilityPhotoToListing(listing, true);
            }

            listing.SaveButtonText = listing.ActionName = "Create";
            // If logged in, show the form.
            return View(listing);
        }
Пример #2
0
 public ActionResult Create(ListingViewModelEdit listing)
 {
     if (ModelState.IsValid)
     {
         var savedlisting = this.SaveListing(listing, true);
         //return RedirectToAction("See", "Listings", new { facilityGuid = savedlisting.FacilityGuid });
         return SeeResult(savedlisting.FacilityGuid);
     }
     else
     {
         ModelState.AddModelError("FormSubmit", "Create listing - errors detected");
         this.AddListingTypesToListing(listing);
         this.AddTypesOfCareToListing(listing);
         this.AddFacilityPhotoToListing(listing, true);
         return View(listing);
     }
 }
Пример #3
0
        private void SaveTypesOfCare(ListingViewModelEdit listing)
        {
            FacilityOfferingLogic fologic = new FacilityOfferingLogic();
            // offerings (types of care) processing
            listing.TypeOfCareList.ToList().ForEach(tc =>
            {
                var exists = fologic.GetFacilityOfferingByFacilityGuidOfferingGuid(listing.FacilityGuid, tc.TypeOfCareGuid);
                // checked but not present in database
                if (tc.Checked && exists == null)
                {
                    fologic.InsertFacilityOffering(tc.ToFacilityOffering(listing.FacilityGuid));
                }

                // not checked but present in database
                if (!tc.Checked && exists != null)
                {
                    fologic.DeleteFacilityOffering(tc.ToFacilityOffering(listing.FacilityGuid));
                }
            });
        }
Пример #4
0
        private ListingViewModelEdit SaveListing(ListingViewModelEdit listing, bool insert)
        {
            // try to find first city record and if not found insert new
            CityStateZipLogic cszLogic = new CityStateZipLogic();
            CityStateZip csz = cszLogic.GetCityStateZipByCityStateZipGuid(listing.CityStateZipGuid);
            csz = new CityStateZip(listing.CityStateZipGuid, listing.City, listing.State, listing.ZipCode);
            csz = cszLogic.InsertCityStateZip(csz);
            listing.CityStateZipGuid = csz.CityStateZipGuid;
            //price
            ListingTypeLogic listingTypeLogic = new ListingTypeLogic();
            ListingType listingType = listingTypeLogic.GetListingTypeByListingTypeGuid(listing.ListingTypeGuid);

            Facility facility = listing.ToFacility();
            FacilityLogic facilityLogic = new FacilityLogic();

            if (insert)
            {
                //Add Facility Price from listing list
                facility.Price = listingType.ListingTypePrice;

                facility = facilityLogic.InsertFacility(facility);
                listing.FacilityGuid = facility.FacilityGuid;
                listing.FacilityID = facility.FacilityID;
                //// add facilityguid to photos
                listing.FacilityPhotos.ToList().ForEach(ff => ff.FacilityGuid = listing.FacilityGuid);
            }
            else
            {
                facility.FacilityGuid = listing.FacilityGuid;
                // if listing type change then price from listing list
                Facility oldfacility = facilityLogic.GetFacilityByFacilityGuid(listing.FacilityGuid);
                if (oldfacility.ListingTypeGuid != facility.ListingTypeGuid)
                    facility.Price = listingType.ListingTypePrice;
                else
                    facility.Price = oldfacility.Price;
                facilityLogic.UpdateFacility(facility);
            }

            this.SaveTypesOfCare(listing);
            this.SaveListingPhotos(listing.FacilityPhotos.ToList());

            return listing;
        }
Пример #5
0
 public ActionResult Edit(ListingViewModelEdit listing)
 {
     this.AddListingTypesToListing(listing);
     if (ModelState.IsValid)
     {
         var savedlisting = this.SaveListing(listing, false);
         return SeeResult(savedlisting.FacilityGuid);
     }
     else
     {
         ModelState.AddModelError("FormSubmit", "Save listing - errors detected");
         this.AddListingTypesToListing(listing);
         this.AddTypesOfCareToListing(listing);
         this.AddFacilityPhotoToListing(listing, true);
         return View(listing);
     }
 }
Пример #6
0
 protected void AddTypesOfCareToListing(ListingViewModelEdit listing)
 {
     var ologic = new OfferingLogic();
     var offerings = this.OfferingsAll;
     var offeringsForThisFacility = ologic.GetOfferingsForFacility(listing.FacilityGuid);
     var typesofcare = new List<TypeOfCareViewModel>();
     offerings.ToList().ForEach(o =>
     {
         var checkd = offeringsForThisFacility.FirstOrDefault(otf => otf.OfferingGuid == o.OfferingGuid) != null;
         typesofcare.Add(o.ToTypeOfCare(checkd));
     });
     listing.TypeOfCareList = typesofcare;
 }
Пример #7
0
 protected void AddListingTypesToListing(ListingViewModelEdit listingModel)
 {
     var list = this.ListingTypes;
     SelectList sl = new SelectList(list, "ListingTypeGuid", "ListingTypeName");
     listingModel.ListingTypeSelectList = sl;
     if (listingModel.ListingTypeGuid == Guid.Empty)
     {
         listingModel.ListingTypeGuid = list.First().ListingTypeGuid;
     }
 }
Пример #8
0
        // contains styling
        protected void AddFacilityPhotoToListing(ListingViewModelEdit listing, bool generateEmpty)
        {
            FacilityPhotoLogic photologic = new FacilityPhotoLogic();
            var photos = photologic.GetFacilityPhotosForFacilityByFacilityGuid(listing.FacilityGuid).ToViewModelList();

            photos.ToList().ForEach(f =>
            {
                f.Uid = string.Format("{0}", f.FacilityPhotoGuid);
                f.CssStyle = "fieldRow";
            });
            if (generateEmpty)
            {
                //// add additional text boxes
                int limit = 20 - photos.Count;
                for (int i = 0; i < limit; i++)
                {
                    photos.Add(new FacilityPhotoViewModel { FacilityGuid = listing.FacilityGuid, Uid = string.Format("{0:00}", i), CssStyle = "hidden" });
                }
            }

            listing.FacilityPhotos = photos;
        }