public CreateEvent( NewEventDto newEventRequest, CloudTable eventsTable, string loginUserEmail, string loginUserId, ILogger logger) { _newEventRequest = newEventRequest; _loginUserEmail = loginUserEmail; _loginUserId = loginUserId; _eventsTable = eventsTable; _logger = logger; }
public async Task <NewEventDto> Create(NewEventDto newEventDto) { if (newEventDto == null) { throw new ArgumentNullException(nameof(newEventDto)); } var newEvent = _mapper.Map <Event>(newEventDto); await _repository.Create(newEvent); var eventDto = _mapper.Map <NewEventDto>(newEvent); return(eventDto); }
public async Task Update(int id, NewEventDto evDto) { if (evDto == null) { throw new ArgumentNullException(); } var itemToUpdate = await _repository.GetById(id); if (itemToUpdate == null) { throw new InvalidOperationException($"Event with {id} id was not found"); } var ev = _mapper.Map <Event>(evDto); await _repository.Update(id, ev); }
public async Task <EventDto> Create(NewEventDto newItem) { if (newItem == null) { throw new ArgumentNullException(); } var ev = _mapper.Map <Event>(newItem); ev.DateCreated = DateTime.Now; await _repository.Add(ev); var evDto = _mapper.Map <EventDto>(ev); return(evDto); }
public IHttpActionResult CreateNewEvents(NewEventDto newEvent) { var memberCreated = _context.Members.Single(m => m.Id == newEvent.MemberCreatedId); var guests = new List <Member>(); var guestCount = 0; if (newEvent.GuestIds != null) { guests = _context.Members.Where(s => newEvent.GuestIds.Contains(s.Id)).ToList(); guestCount = newEvent.GuestIds.Count(); } var addedEvent = new Event { Name = newEvent.Name, MemberCreatedId = memberCreated.Id, GuestId = newEvent.GuestIds, DateCreated = newEvent.DateCreated ?? DateTime.Today, Description = newEvent.Description, TotalAmount = newEvent.TotalAmount, GuestCount = guestCount, TotalRemain = Math.Round((newEvent.TotalAmount / (guestCount + 1)), 2) * guestCount }; _context.Events.Add(addedEvent); _context.SaveChanges(); if (newEvent.TotalAmount > 0 && guestCount > 0) { foreach (var guest in guests) { var bill = new Bill { EventId = addedEvent.Id, Name = newEvent.Name, PaidFor = memberCreated.Name, PaidBy = guest.Name, DateCreated = newEvent.DateCreated ?? DateTime.Now, Amount = Math.Round((newEvent.TotalAmount / (guestCount + 1)), 2), MemberId = guest.Id }; _context.Bills.Add(bill); } } _context.SaveChanges(); return(Ok()); }
public static bool ValidateRequest(NewEventDto newEventRequest) { var hasErrors = false; var errors = new StringBuilder(); if (string.IsNullOrEmpty(newEventRequest?.Title)) { hasErrors = true; errors.AppendLine($"{nameof(newEventRequest.Title)} is required."); } if (newEventRequest?.StartTime >= newEventRequest?.EndTime) { hasErrors = true; errors.AppendLine("Invalid event start and end times."); } if (hasErrors) { throw new ValidationException(errors.ToString()); } return(true); }
public async Task <IActionResult> Update(int id, [FromBody] NewEventDto newEvent) { await _eventService.Update(id, newEvent); return(NoContent()); }
public async Task <IActionResult> AddEvent([FromBody] NewEventDto newEventDto) { var createEvent = await _eventService.Create(newEventDto); return(Ok(createEvent)); }
public async Task <IActionResult> Post(NewEventDto newEventDto) { var createdEvent = await _eventService.Create(newEventDto); return(Ok(createdEvent)); }