public EventModel Create(CreateEventRequest eventModel, string ownerToken) { if (_events.Find(e => e.Title == eventModel.Title).FirstOrDefault() == null) { var owner = _users.Find(u => u.Token == ownerToken).FirstOrDefault(); var createdEvent = new BackendEventModel(null, eventModel.Title, owner.City, eventModel.DetailLocation , eventModel.Description, owner.Id, eventModel.Date, eventModel.Price); _events.InsertOne(createdEvent); _redisEventsDatabase.StringSet(createdEvent.Id, JsonConvert.SerializeObject(createdEvent), ttl); createdEvent = _convertModelsService.GetBackendEventModel(GetByTitle(eventModel.Title)); if (eventModel.ImageArray != null) { var imageUrl = UploadImage(createdEvent.Id, eventModel.ImageArray); createdEvent.ImageUrl = imageUrl; _events.ReplaceOne(e => e.Id == createdEvent.Id, createdEvent); _redisEventsDatabase.StringSet(createdEvent.Id, JsonConvert.SerializeObject(createdEvent), ttl); } var list = new List <string>(); if (owner.HostingEvents != null) { list = owner.HostingEvents.ToList(); } list.Add(createdEvent.Id); owner.HostingEvents = list.ToArray(); _users.ReplaceOne(u => u.Id == owner.Id, owner); _redisUsersDatabase.StringSet(owner.Id, JsonConvert.SerializeObject(owner), ttl); return(_convertModelsService.GetEventModel(createdEvent)); } return(null); }
public EventModel GetEventModel(BackendEventModel backendEventModel) { var eventModel = EventModel.ConvertToEventModel(backendEventModel); var owner = JsonConvert.DeserializeObject <BackendUserModel>( _redisUsersDatabase.StringGet(backendEventModel.Owner)); var visitors = new List <UserModel>(); if (backendEventModel.Visitors != null) { foreach (var id in backendEventModel.Visitors) { visitors.Add(GetUserModel(JsonConvert.DeserializeObject <BackendUserModel>( _redisUsersDatabase.StringGet(id)))); } } eventModel.Owner = GetUserModel(owner); eventModel.Visitors = visitors.ToArray(); return(eventModel); }
public BackendEventModel GetBackendEventModel(EventModel eventModel) { var backendEventModel = BackendEventModel.ConvertToBackendEventModel(eventModel); var owner = JsonConvert.DeserializeObject <BackendEventModel>( _redisUsersDatabase.StringGet(eventModel.Owner.Id)); var visitors = new List <string>(); if (eventModel.Visitors != null) { foreach (var e in eventModel.Visitors) { visitors.Add(e.Id); } } backendEventModel.Owner = owner.Id; backendEventModel.Visitors = visitors.ToArray(); return(backendEventModel); }