public HttpResponseMessage Add(HttpRequestMessage request, CalendarLessionViewModel calendar) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; Guid userid = Guid.Parse(calendar.UserID); Guid lessionid = calendar.lessionID.Value != null ? calendar.lessionID.Value : Guid.Empty; Guid schoolid = calendar.SchoolId.Value; if (userid != null && lessionid != null) { if (!ModelState.IsValid) { response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { var User = _usersRepository.GetAll().Where(m => m.Id == userid).ToList(); var lession = _lessonRepository.GetSingle(lessionid); var school = _schoolRepository.GetSingle(schoolid); if (User.Count > 0 && lession.Id != null && school != null) { calendar.UserID = User[0].Id.ToString(); calendar.start = lession.StartAt.ToString(); calendar.end = lession.EndAt.ToString(); List <Profiler> profiler = User.SelectMany(p => p.Profiler).ToList(); calendar.backgroundColor = (profiler.Count > 0) ? profiler[0].Color : "#125d14"; calendar.borderColor = (profiler.Count > 0) ? profiler[0].Color : "#125d14"; calendar.Description = User[0].Username; Entities.Calendar newCalendar = new Entities.Calendar(); newCalendar.UpdateCalendarView(calendar); _calendarsRepository.Add(newCalendar); _unitOfWork.Commit(); // Update view model calendar = Mapper.Map <Entities.Calendar, CalendarLessionViewModel>(newCalendar); CalenderLession calenderlession = new CalenderLession(); calenderlession.SchoolId = school.Id; calenderlession.LessionId = lession.Id; calenderlession.CalendarId = calendar.ID; _calenderlessonRepository.Add(calenderlession); _unitOfWork.Commit(); response = request.CreateResponse(HttpStatusCode.Created, calendar); } } } else { response = request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, "Error"); } return response; })); }
public HttpResponseMessage Adddrag(HttpRequestMessage request, CalendarLessionViewModel calendar) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { var User = _usersRepository.GetAll().Where(m => m.Username == calendar.title).ToList(); if (User.Count > 0) { calendar.UserID = User[0].Id.ToString(); List <Profiler> profiler = User.SelectMany(p => p.Profiler).ToList(); calendar.backgroundColor = (profiler.Count > 0) ? profiler[0].Color : "#125d14"; calendar.borderColor = (profiler.Count > 0) ? profiler[0].Color : "#125d14"; Entities.Calendar newCalendar = new Entities.Calendar(); newCalendar.UpdateCalendar(calendar); _calendarsRepository.Add(newCalendar); _unitOfWork.Commit(); // Update view model calendar = Mapper.Map <Entities.Calendar, CalendarLessionViewModel>(newCalendar); CalenderLession calenderlession = new CalenderLession(); calenderlession.CalendarId = calendar.ID; _calenderlessonRepository.Add(calenderlession); _unitOfWork.Commit(); response = request.CreateResponse(HttpStatusCode.Created, calendar); } } return response; })); }
public static void UpdateCalenderLession(this CalenderLession calendarlession, CalendarLessionViewModel calendarlessionVm) { calendarlession.SchoolId = calendarlessionVm.SchoolId; calendarlession.LessionId = calendarlessionVm.lessionID; calendarlession.CalendarId = calendarlessionVm.CalendarId; }