Exemple #1
0
        public Tuple <Multimedia, Address, Buyer> Map(SetDetailsBuyerViewModel model, string userId)
        {
            var multimedia = new Multimedia
            {
                FileName = model.ProfilePhoto.FileName,
                Content  = model.ProfilePhoto.SetContent(),
                Type     = Enum.GetName(typeof(MultimediaType), MultimediaType.ProfilePhoto)
            };

            var address = new Address
            {
                AddressLine1 = model.AddressLine1,
                AddressLine2 = model.AddressLine2,
                Town         = model.Town,
                Province     = model.Province,
                PostalCode   = model.PostalCode,
                Country      = model.Country
            };

            var buyer = new Buyer
            {
                Signature      = model.Signature,
                ApprovalStatus = model.ApprovalStatus,
                BuyerType      = model.BuyerType.GetName <BuyerType>(),
                UserId         = userId,
                AddressId      = address.Id,
                MultimediaId   = multimedia.Id
            };

            return(new Tuple <Multimedia, Address, Buyer>(multimedia, address, buyer));
        }
        public async Task <ActionResult> SetDetails(SetDetailsBuyerViewModel model)
        {
            var(multimedia, address, buyer) = mapper.Map(model, User.Identity.GetUserId());

            context.MultiMedias.Add(multimedia);
            context.Addresses.Add(address);
            context.Buyers.Add(buyer);

            await context.SaveChangesAsync();

            return(RedirectToAction("Properties4Buyer", "Property"));
        }
        public async Task <ActionResult> EditDetails(SetDetailsBuyerViewModel model)
        {
            var userId        = User.Identity.GetUserId();
            var existingBuyer = await context.Buyers.FirstOrDefaultAsync(it => it.UserId == userId);

            if (existingBuyer == null)
            {
                ViewBag.ErrorMessage = "This buyer does not exists in our database.";
                return(View("Error"));
            }

            var address = await context.Addresses.FirstOrDefaultAsync(it => it.Id == existingBuyer.AddressId);

            var multimedia = await context.MultiMedias.FirstOrDefaultAsync(it => it.Id == existingBuyer.MultimediaId);

            (multimedia, address, existingBuyer) = mapper.Map(model, userId);
            return(RedirectToAction("GetDetails", "Seller"));
        }