public async Task CalendarUserModel_Update_DoesUpdate() { // Arrange Random rnd = new Random(); CalendarUser calendarUser = new CalendarUser(); calendarUser.Color = Guid.NewGuid().ToString(); calendarUser.IsVisibleInCalendar = rnd.Next(100) < 50; calendarUser.NameInCalendar = Guid.NewGuid().ToString(); calendarUser.SiteId = rnd.Next(1, 255); DbContext.CalendarUsers.Add(calendarUser); await DbContext.SaveChangesAsync(); //CalendarUserVersion calendarUserVer = new CalendarUserVersion(); // Act CalendarUserModel calendarUserModel = new CalendarUserModel(); calendarUserModel.Color = Guid.NewGuid().ToString(); calendarUserModel.IsVisibleInCalendar = rnd.Next(100) < 50; calendarUserModel.NameInCalendar = "Georg Jensen"; calendarUserModel.SiteId = rnd.Next(1, 255); calendarUserModel.Id = calendarUser.Id; await calendarUserModel.Update(DbContext); CalendarUser dbCalendarUser = DbContext.CalendarUsers.AsNoTracking().First(); List <CalendarUser> userList = DbContext.CalendarUsers.AsNoTracking().ToList(); //List<CalendarUserVersions> versionList = DbContext.CalendarUsersVersions.AsNoTracking().ToList(); // Assert Assert.NotNull(dbCalendarUser); Assert.AreEqual(1, userList.Count()); Assert.AreEqual(calendarUserModel.Color, dbCalendarUser.Color); Assert.AreEqual(calendarUserModel.IsVisibleInCalendar, dbCalendarUser.IsVisibleInCalendar); Assert.AreEqual(calendarUserModel.NameInCalendar, dbCalendarUser.NameInCalendar); Assert.AreEqual(calendarUserModel.SiteId, dbCalendarUser.SiteId); }
public async Task <OperationResult> Update(CalendarUserModel requestModel) { try { // CalendarUser calendarUser = _dbContext.CalendarUsers.FirstOrDefault(x => x.Id == requestModel.Id); // if (calendarUser == null) // { // return new OperationResult(false, // _caseManagementLocalizationService.GetString("CalendarUserNotFound")); // } // // calendarUser.SiteId = requestModel.SiteId; // calendarUser.Color = requestModel.Color; // calendarUser.IsVisibleInCalendar = requestModel.IsVisibleInCalendar; // calendarUser.NameInCalendar = requestModel.NameInCalendar; await requestModel.Update(_dbContext); //TODO // await _dbContext.SaveChangesAsync(); PluginConfigurationValue caseManagementSetting = _dbContext.PluginConfigurationValues.SingleOrDefault(x => x.Name == "CaseManagementBaseSettings:RelatedEntityGroupId"); if (caseManagementSetting != null) { Core core = await _coreHelper.GetCore(); EntityGroup entityGroup = await core.EntityGroupRead(caseManagementSetting.Value); if (entityGroup == null) { return(new OperationResult(false, "Entity group not found")); } int nextItemUid = entityGroup.EntityGroupItemLst.Count; string label = requestModel.NameInCalendar; if (string.IsNullOrEmpty(label)) { label = $"Empty company {nextItemUid}"; } await core.EntityItemUpdate(entityGroup.Id, $"{label}", "", nextItemUid.ToString(), 0); //if (item != null) //{ // entityGroup = core.EntityGroupRead(caseManagementSetting.RelatedEntityGroupId.ToString()); // if (entityGroup != null) // { // foreach (var entityItem in entityGroup.EntityGroupItemLst) // { // if (entityItem.MicrotingUUID == item.MicrotingUUID) // { // calendarUser.RelatedEntityId = entityItem.Id; // } // } // } //} //_dbContext.SaveChanges(); } return(new OperationResult(true, _caseManagementLocalizationService.GetString("CalendarUserUpdatedSuccessfully"))); } catch (Exception e) { Trace.TraceError(e.Message); _logger.LogError(e.Message); return(new OperationResult(false, _caseManagementLocalizationService.GetString("ErrorWhileUpdatingCalendarUser"))); } }
public async Task <OperationResult> Create(CalendarUserModel calendarUserModel) { try { // CalendarUser calendarUser = new CalendarUser(); // { // SiteId = calendarUserModel.SiteId, // NameInCalendar = calendarUserModel.NameInCalendar, // Color = calendarUserModel.Color, // IsVisibleInCalendar = calendarUserModel.IsVisibleInCalendar, // }; // _dbContext.CalendarUsers.Add(calendarUser); // await _dbContext.SaveChangesAsync(); CalendarUser existingCalendarUser = _dbContext.CalendarUsers.SingleOrDefault(x => x.SiteId == calendarUserModel.SiteId); if (existingCalendarUser == null) { await calendarUserModel.Create(_dbContext); } else { calendarUserModel.Id = existingCalendarUser.Id; calendarUserModel.WorkflowState = Constants.WorkflowStates.Created; await calendarUserModel.Update(_dbContext); } PluginConfigurationValue caseManagementSetting = _dbContext.PluginConfigurationValues.SingleOrDefault(x => x.Name == "CaseManagementBaseSettings:RelatedEntityGroupId"); if (caseManagementSetting != null) { Core core = await _coreHelper.GetCore(); EntityGroup entityGroup = await core.EntityGroupRead(caseManagementSetting.Value); if (entityGroup == null) { return(new OperationResult(false, "Entity group not found")); } int nextItemUid = entityGroup.EntityGroupItemLst.Count; string label = calendarUserModel.NameInCalendar; if (string.IsNullOrEmpty(label)) { label = $"Empty company {nextItemUid}"; } EntityItem item = await core.EntitySelectItemCreate(entityGroup.Id, $"{label}", 0, nextItemUid.ToString()); if (item != null) { entityGroup = await core.EntityGroupRead(caseManagementSetting.Value); if (entityGroup != null) { foreach (EntityItem entityItem in entityGroup.EntityGroupItemLst) { if (entityItem.MicrotingUUID == item.MicrotingUUID) { calendarUserModel.RelatedEntityId = entityItem.Id; } } } } await _dbContext.SaveChangesAsync(); } return(new OperationResult(true, _caseManagementLocalizationService.GetString("CalendarUserHasBeenCreated"))); } catch (Exception e) { Trace.TraceError(e.Message); _logger.LogError(e.Message); return(new OperationResult(false, _caseManagementLocalizationService.GetString("ErrorWhileCreatingCalendarUser"))); } }