public async Task <Event> UpdateEvent(DataForAddingEventDto updatedEvent, int id) { var content = GetFormDataContent(updatedEvent); content.Add(new StringContent(id.ToString()), "Id"); var eventFromRepo = await _apiService.PutFormAsync <Event>(Url, content); return(eventFromRepo); }
private MultipartFormDataContent GetFormDataContent(DataForAddingEventDto newEvent) { var content = new MultipartFormDataContent(); content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data"); content.Add(new StringContent(newEvent.Name), "Name"); if (newEvent.Icon.Data != null) { content.Add(new StreamContent(newEvent.Icon.Data, (int)newEvent.Icon.Data.Length), "Icon", newEvent.Icon.Name); } content.Add(new StringContent(newEvent.CategoryId.ToString()), "CategoryId"); content.Add(new StringContent(newEvent.EventTypeId.ToString()), "EventTypeId"); content.Add(new StringContent(newEvent.About), "About"); if (!string.IsNullOrEmpty(newEvent.Format)) { content.Add(new StringContent(newEvent.Format), "Format"); } if (!string.IsNullOrEmpty(newEvent.Rules)) { content.Add(new StringContent(newEvent.Rules), "Rules"); } content.Add(new StringContent(newEvent.Venue), "Venue"); content.Add(new StringContent(newEvent.Day.ToString()), "Day"); content.Add(new StringContent(newEvent.Datetime.ToString("yyyy-MM-dd HH:mm:ss")), "Datetime"); content.Add(new StringContent(newEvent.NumberOfRounds.ToString()), "NumberOfRounds"); content.Add(new StringContent(newEvent.CurrentRound.ToString()), "CurrentRound"); content.Add(new StringContent(newEvent.EventStatusId.ToString()), "EventStatusId"); content.Add(new StringContent(newEvent.EntryFee.ToString()), "EntryFee"); content.Add(new StringContent(newEvent.PrizeMoney.ToString()), "PrizeMoney"); content.Add(new StringContent(newEvent.IsTeam.ToString()), "IsTeam"); content.Add(new StringContent(newEvent.TeamSize.ToString()), "TeamSize"); content.Add(new StringContent(newEvent.NeedRegistration.ToString()), "NeedRegistration"); if (!string.IsNullOrEmpty(newEvent.Button)) { content.Add(new StringContent(newEvent.Button), "Button"); } if (!string.IsNullOrEmpty(newEvent.RegistrationLink)) { content.Add(new StringContent(newEvent.RegistrationLink), "RegistrationLink"); } if (newEvent.RegistrationOpen != null) { content.Add(new StringContent(newEvent.RegistrationOpen.ToString()), "RegistrationOpen"); } if (newEvent.RegistrationEndDate != null) { content.Add( new StringContent(Convert.ToDateTime(newEvent.RegistrationEndDate).ToString("yyyy-MM-dd HH:mm:ss")), "RegistrationEndDate"); } content.Add(new StringContent(newEvent.EventHead1Id.ToString()), "EventHead1Id"); content.Add(new StringContent(newEvent.EventHead2Id.ToString()), "EventHead2Id"); return(content); }
public async Task <Event> AddEvent(DataForAddingEventDto newEvent) { if (newEvent.Icon.Data == null) { _notification.Error("Icon Should not be null"); throw new Exception("Icon Should not be null"); } var content = GetFormDataContent(newEvent); var eventFromServer = await _apiService.PostFormAsync <Event>("/events/api/events", content); newEvent.Icon.Data?.Dispose(); return(eventFromServer); }
public async Task <Event> AddEvent(DataForAddingEventDto eventDataFromClient) { if (eventDataFromClient.Icon is null) { throw new DataInvalidException("Please provide an icon for the event"); } var newEvent = _mapper.Map <Event>(eventDataFromClient); await _context.Events.AddAsync(newEvent); if (await _context.SaveChangesAsync() <= 0) { throw new Exception("Problem Saving Changes"); } var imageUrl = await _service.UploadEventIcon(newEvent.Id.ToString(), eventDataFromClient.Icon); newEvent.Icon = imageUrl; await _context.SaveChangesAsync(); return(newEvent); }
public async Task <ActionResult <Event> > AddEvent([FromForm] DataForAddingEventDto eventDataFromClient) { return(Ok(await _repo.AddEvent(eventDataFromClient))); }