public async Task Edit(string partnerId, PartnerCreateEditModel data) { if (string.IsNullOrWhiteSpace(data.Name) || string.IsNullOrWhiteSpace(data.Category)) { throw new ArgumentException(ErrorMessages.InvalidPartnerCreateData); } if (!await this.db.Partners.AnyAsync(p => p.Id == partnerId)) { throw new ArgumentException(ErrorMessages.InvalidPartnerId); } Partner partner = await this.db.Partners.FirstOrDefaultAsync(p => p.Id == partnerId); partner.Name = data.Name; partner.LogoUrl = data.LogoUrl; partner.WebUrl = data.WebUrl; partner.Category = data.Category; await this.db.SaveChangesAsync(); await this.DeletePartnerLocations(partner.Id); if (data.PartnerLocations.Count > 0) { await this.CreatePartnerLocations(partner.Id, data.PartnerLocations); } }
public async Task <string> Create(PartnerCreateEditModel data) { if (string.IsNullOrWhiteSpace(data.Name) || string.IsNullOrWhiteSpace(data.Category)) { throw new ArgumentException(ErrorMessages.InvalidPartnerCreateData); } await this.ReindexPartners(); //Increment each partner's index with 1, so that the new partner comes first Partner partner = new Partner { Name = data.Name, LogoUrl = !string.IsNullOrWhiteSpace(data.LogoUrl) ? data.LogoUrl : "", WebUrl = !string.IsNullOrWhiteSpace(data.WebUrl) ? data.WebUrl : "", Category = data.Category, Index = 1 }; await this.db.Partners.AddAsync(partner); await this.db.SaveChangesAsync(); if (data.PartnerLocations.Count > 0) { await this.CreatePartnerLocations(partner.Id, data.PartnerLocations); } return(partner.Id); }
public async Task <IActionResult> Edit(string id, [FromBody] PartnerCreateEditModel partner) { return(await Execute(true, true, async() => { await this.partners.Edit(id, partner); return this.Ok(new { partnerId = id }); })); }
public async Task <IActionResult> Create([FromBody] PartnerCreateEditModel partner) { return(await Execute(true, true, async() => { string partnerId = await this.partners.Create(partner); return this.Ok(new { partnerId = partnerId }); })); }