/// <summary> /// Save and update data in Open Office Hours table /// </summary> /// <param name="model"></param> /// <param name="user">if user model is null then please pass UserId into the OpenOfficeHoursViewModel</param> /// <param name="communityGroupsData">if communityGroupsData model is null then please pass CommunityGroupId into the OpenOfficeHoursViewModel</param> /// <returns></returns> public async Task <BaseModel> SaveOpenHoursAsync(OpenOfficeHoursViewModel model, UsersLoginDataModel user, CommunityGroupsDataModel communityGroupsData) { if (user == null) { user = await _unitOfWork.UserLoginRepository.GetByID(model.UserId); } if (communityGroupsData == null) { communityGroupsData = await _unitOfWork.UserCommunityGroupsRepository.GetByID(model.CommunityGroupId); } if (model.Id == 0) { CommunityOpenOfficeHours dataModel = new CommunityOpenOfficeHours { CreatedBy = user.Id, User = user, CommunityGroups = communityGroupsData, OTitle = model.OTitle, OName = model.OName, ODescription = model.ODescription, OFrequency = model.OFrequency, OFromDate = model.OFromDate, // setDateFromDayName(model.OTimeDayName, model.OFromDate), OToDate = model.OFromDate, // setDateFromDayName(model.OTimeDayName, model.OFromDate), OTime = model.OTime, OTimeDayName = model.OTimeDayName, OTimeZone = model.OTimeZone, MaxAttendees = model.MaxAttendees, WhoCanAttend = model.WhoCanAttend, IsActive = true, IsFirstMeeting = model.IsFirstMeeting, NextMeetingToken = model.NextMeetingToken, LastSessionId = model.LastSessionId, AddHours = model.AddHours }; await _unitOfWork.UserCommunityOpenOfficeHoursRepository.Insert(dataModel); if (model.AddHours) { await _context.LoadStoredProc("AddHoursInOpenOfficeHours") .WithSqlParam("Id", dataModel.Id) .ExecuteStoredProcAsync((handler) => { // do something with your results. }); } return(new BaseModel { Status = true, Id = dataModel.Id, Messsage = UMessagesInfo.RecordSaved }); } else { var openOfficeHoursModel = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.GetByID(model.Id); openOfficeHoursModel.OTitle = model.OTitle; openOfficeHoursModel.OName = model.OName; openOfficeHoursModel.ODescription = model.ODescription; openOfficeHoursModel.OFrequency = model.OFrequency; if (openOfficeHoursModel.OTimeDayName.ToLower().Trim() != model.OTimeDayName.ToLower().Trim()) { openOfficeHoursModel.OFromDate = SphixHelper.setDateFromDayName(model.OTimeDayName, DateTime.Now.Date); openOfficeHoursModel.OToDate = openOfficeHoursModel.OFromDate; } else { openOfficeHoursModel.OFromDate = model.OFromDate;// setDateFromDayName(model.OTimeDayName, model.OFromDate); openOfficeHoursModel.OToDate = openOfficeHoursModel.OFromDate; } openOfficeHoursModel.OTime = model.OTime; openOfficeHoursModel.OTimeDayName = model.OTimeDayName; openOfficeHoursModel.OTimeZone = model.OTimeZone; openOfficeHoursModel.MaxAttendees = model.MaxAttendees; openOfficeHoursModel.WhoCanAttend = model.WhoCanAttend; openOfficeHoursModel.IsActive = true; //openOfficeHoursModel.AddHours = model.AddHours; //openOfficeHoursModel.IsFirstMeeting = model.IsFirstMeeting; await _unitOfWork.UserCommunityOpenOfficeHoursRepository.Update(openOfficeHoursModel); return(new BaseModel { Status = true, Id = model.Id, Messsage = UMessagesInfo.RecordSaved }); } }
public JoinOpenHoursMeetingDataModel() { OpenOfficeHours = new CommunityOpenOfficeHours(); User = new UsersLoginDataModel(); JoinDateTime = DateTime.Now; }