/// <summary> /// get event details /// </summary> /// <param name="Id"> event id </param> /// <returns> event model </returns> public EventsModel GetEventDetails(string Id) { using (var _ctx = new ChinmayaEntities()) { EventsModel emm = new EventsModel(); Event emData = _ctx.Events.Where(e => e.Id == Id).FirstOrDefault(); if (emData != null) { emm.Id = emData.Id; emm.Name = emData.Name; emm.Description = emData.Description; emm.WeekdayId = emData.WeekdayId; emm.FrequencyId = emData.FrequencyId; emm.AgeFrom = emData.AgeFrom; emm.AgeTo = emData.AgeTo; emm.Amount = emData.Amount; EventSession esessionData = _ctx.EventSessions.Where(es => es.EventId == emData.Id).FirstOrDefault(); emm.SessionId = esessionData.SessionId; emm.StartDate = Convert.ToDateTime(esessionData.StartDate); emm.EndDate = Convert.ToDateTime(esessionData.EndDate); emm.StartTime = esessionData.StartTime; emm.EndTime = esessionData.EndTime; emm.Location = esessionData.Location; emm.Instructor = esessionData.Instructor; emm.Contact = esessionData.Contact; emm.Other = esessionData.Other; EventHoliday eHolidayData = _ctx.EventHolidays.Where(eh => eh.EventId == emData.Id).FirstOrDefault(); emm.HolidayDate = eHolidayData.HolidayDate; } return(emm); } }
/// <summary> /// adds event /// </summary> /// <param name="ev"> Event Model </param> public void PostEvent(EventsModel ev) { using (var _ctx = new ChinmayaEntities()) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <EventsModel, Event>(); }); IMapper mapper = config.CreateMapper(); var eve = new Event { Id = Guid.NewGuid().ToString(), Name = ev.Name, Description = ev.Description, WeekdayId = ev.WeekdayId, FrequencyId = ev.FrequencyId, AgeFrom = ev.AgeFrom, AgeTo = ev.AgeTo, Amount = ev.Amount, Status = true, CreatedBy = ev.CreatedBy, CreatedDate = DateTime.Now }; var evs = new EventSession { EventId = eve.Id, SessionId = ev.SessionId, StartDate = ev.StartDate, EndDate = ev.EndDate, StartTime = ev.StartTime, EndTime = ev.EndTime, Location = ev.Location, Instructor = ev.Instructor, Contact = ev.Contact, Other = ev.Other }; if (ev.HolidayDate != null) { var eHoliday = new EventHoliday { EventId = eve.Id, HolidayDate = ev.HolidayDate }; _ctx.EventHolidays.Add(eHoliday); } _ctx.Events.Add(eve); _ctx.EventSessions.Add(evs); try { _ctx.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var even in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", even.Entry.Entity.GetType().Name, even.Entry.State); foreach (var ve in even.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } } } }
/// <summary> /// adds event /// </summary> /// <param name="ev"> Event Model </param> public string PostEvent(EventsModel ev) { using (var _ctx = new ChinmayaEntities()) { string res = ""; using (var transaction = _ctx.Database.BeginTransaction()) { try { var config = new MapperConfiguration(cfg => { cfg.CreateMap <EventsModel, Event>(); }); IMapper mapper = config.CreateMapper(); Event evnt = new Event(); mapper.Map(ev, evnt); var config1 = new MapperConfiguration(cfg => { cfg.CreateMap <EventsModel, EventSession>().ForMember(dest => dest.Id, opt => opt.Ignore()); }); IMapper mapper1 = config1.CreateMapper(); EventSession evntssn = new EventSession(); mapper1.Map(ev, evntssn); var config2 = new MapperConfiguration(cfg => { cfg.CreateMap <EventsModel, EventHoliday>().ForMember(dest => dest.Id, opt => opt.Ignore()); }); IMapper mapper2 = config2.CreateMapper(); EventHoliday evnthld = new EventHoliday(); mapper2.Map(ev, evnthld); if (ev.Id == null) { evnt.Id = Guid.NewGuid().ToString(); evnt.Status = true; evnt.CreatedDate = DateTime.Now; _ctx.Events.Add(evnt); _ctx.SaveChanges(); evntssn.EventId = evnt.Id; _ctx.EventSessions.Add(evntssn); _ctx.SaveChanges(); evnthld.EventId = evnt.Id; _ctx.EventHolidays.Add(evnthld); _ctx.SaveChanges(); transaction.Commit(); res = "Event successfully added"; } else { var rgstrusr = _ctx.EventRegistrations.Where(r => r.EventId == ev.Id).FirstOrDefault(); if (rgstrusr == null) { evnt = _ctx.Events.Where(e => e.Id == ev.Id).FirstOrDefault(); evnt.Id = ev.Id; evnt.Name = ev.Name; evnt.Description = ev.Description; evnt.WeekdayId = ev.WeekdayId; evnt.FrequencyId = ev.FrequencyId; evnt.AgeFrom = ev.AgeFrom; evnt.AgeTo = ev.AgeTo; evnt.Amount = ev.Amount; evnt.Status = true; evnt.CreatedDate = ev.CreatedDate; evnt.UpdatedBy = ev.UpdatedBy; evnt.UpdatedDate = DateTime.Now; _ctx.SaveChanges(); evntssn = _ctx.EventSessions.Where(e => e.EventId == ev.Id).FirstOrDefault(); evntssn.SessionId = ev.SessionId; evntssn.StartDate = ev.StartDate; evntssn.EndDate = ev.EndDate; evntssn.StartTime = ev.StartTime; evntssn.EndTime = ev.EndTime; evntssn.Location = ev.Location; evntssn.Instructor = ev.Instructor; evntssn.Contact = ev.Contact; evntssn.Other = ev.Other; _ctx.SaveChanges(); evnthld = _ctx.EventHolidays.Where(e => e.EventId == ev.Id).FirstOrDefault(); evnthld.HolidayDate = ev.HolidayDate; _ctx.SaveChanges(); transaction.Commit(); res = "Event successfully edited"; } else { res = "Users already registered for the Event"; } } } catch { transaction.Rollback(); throw; } } return(res); } }