コード例 #1
0
ファイル: PubService.cs プロジェクト: MelomanG/Inzynierka
        public override async Task <Maybe <Pub> > UpdateAsync(Pub updatedPub)
        {
            var existingPub = await _pubRepository.GetSingleOrMaybeAsync(
                p => p.Id == updatedPub.Id,
                p => p.Address);

            if (!existingPub.HasValue)
            {
                return(Maybe <Pub> .Nothing);
            }
            updatedPub.Address.Id = existingPub.Value.Address.Id;
            return(existingPub.Value.AccountId == updatedPub.AccountId
                ? await _pubRepository.UpdateAsync(updatedPub)
                : throw new UserNotAllowedToUpdatePubException(updatedPub.Id, updatedPub.AccountId));
        }
コード例 #2
0
ファイル: RateService.cs プロジェクト: MelomanG/Inzynierka
        public async Task <Maybe <Pub> > RatePub(PubRate rate)
        {
            var pub = await _pubRepository.GetAsync(rate.PubId);

            if (!pub.HasValue)
            {
                return(pub);
            }

            pub.Value.PubRates.Add(rate);
            return(await _pubRepository.UpdateAsync(pub.Value));
        }
コード例 #3
0
        public async Task <IActionResult> Edit(Pub model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Pub p = await _pubRepo.GetByIdAsync(model.Id);

                    if (string.IsNullOrEmpty(model.Name))
                    {
                        p.Name = string.Empty;
                    }
                    else
                    {
                        p.Name = model.Name.Trim();
                    }

                    if (string.IsNullOrEmpty(model.Phone))
                    {
                        p.Phone = string.Empty;
                    }
                    else
                    {
                        p.Phone = model.Phone.Trim();
                    }

                    if (string.IsNullOrEmpty(model.Address1))
                    {
                        p.Address1 = string.Empty;
                    }
                    else
                    {
                        p.Address1 = model.Address1.Trim();
                    }

                    if (string.IsNullOrEmpty(model.Address2))
                    {
                        p.Address2 = string.Empty;
                    }
                    else
                    {
                        p.Address2 = model.Address2.Trim();
                    }

                    if (string.IsNullOrEmpty(model.City))
                    {
                        p.City = string.Empty;
                    }
                    else
                    {
                        p.City = model.City.Trim();
                    }

                    if (string.IsNullOrEmpty(model.ProvState))
                    {
                        p.ProvState = string.Empty;
                    }
                    else
                    {
                        p.ProvState = model.ProvState.Trim();
                    }

                    if (string.IsNullOrEmpty(model.PostalZip))
                    {
                        p.PostalZip = string.Empty;
                    }
                    else
                    {
                        p.PostalZip = model.PostalZip.Trim();
                    }

                    if (string.IsNullOrEmpty(model.Country))
                    {
                        p.Country = string.Empty;
                    }
                    else
                    {
                        p.Country = model.Country.Trim();
                    }


                    // URLs
                    if (string.IsNullOrEmpty(model.UrlWebsite))
                    {
                        p.UrlWebsite = string.Empty;
                    }
                    else
                    {
                        p.UrlWebsite = model.UrlWebsite.Trim();
                    }

                    if (string.IsNullOrEmpty(model.UrlInstagram))
                    {
                        p.UrlInstagram = string.Empty;
                    }
                    else
                    {
                        p.UrlInstagram = model.UrlInstagram.Trim();
                    }

                    if (string.IsNullOrEmpty(model.UrlFacebook))
                    {
                        p.UrlFacebook = string.Empty;
                    }
                    else
                    {
                        p.UrlFacebook = model.UrlFacebook.Trim();
                    }

                    if (string.IsNullOrEmpty(model.UrlTwitter))
                    {
                        p.UrlTwitter = string.Empty;
                    }
                    else
                    {
                        p.UrlTwitter = model.UrlTwitter.Trim();
                    }

                    if (string.IsNullOrEmpty(model.UrlMenu))
                    {
                        p.UrlMenu = string.Empty;
                    }
                    else
                    {
                        p.UrlMenu = model.UrlMenu.Trim();
                    }

                    // Geocode
                    if (string.IsNullOrEmpty(model.Latitude))
                    {
                        p.Latitude = string.Empty;
                    }
                    else
                    {
                        p.Latitude = model.Latitude.Trim();
                    }


                    if (string.IsNullOrEmpty(model.Longitude))
                    {
                        p.Longitude = string.Empty;
                    }
                    else
                    {
                        p.Longitude = model.Longitude.Trim();
                    }

                    await _pubRepo.UpdateAsync(p);

                    return(RedirectToAction("Index", "Pub"));
                }
                return(View(model));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(null);
            }
        }