コード例 #1
0
        public async Task <OperationResult> Delete(int id)
        {
            try
            {
                CalendarUserModel deleteModel = new CalendarUserModel();
                deleteModel.Id = id;
                await deleteModel.Delete(_dbContext);

                return(new OperationResult(true));

//                CalendarUser calendarUser = _dbContext.CalendarUsers.FirstOrDefault(x => x.Id == id);
//                if (calendarUser == null)
//                {
//                    return new OperationResult(false,
//                        _caseManagementLocalizationService.GetString("CalendarUserNotFound"));
//                }
//
//                _dbContext.CalendarUsers.Remove(calendarUser);
//                _dbContext.SaveChanges();
//                return new OperationResult(true,
//                    _caseManagementLocalizationService.GetString("CalendarUserDeletedSuccessfully"));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _logger.LogError(e.Message);
                return(new OperationResult(false,
                                           _caseManagementLocalizationService.GetString("ErrorWhileDeletingCalendarUser")));
            }
        }
        public async Task CalendarUserModel_Save_DoesSave()
        {
            // Arrange
            Random            rnd = new Random();
            CalendarUserModel calendarUserModel = new CalendarUserModel();

            calendarUserModel.Color               = Guid.NewGuid().ToString();
            calendarUserModel.NameInCalendar      = Guid.NewGuid().ToString();
            calendarUserModel.IsVisibleInCalendar = rnd.Next(100) < 50;
            calendarUserModel.SiteId              = rnd.Next(1, 255);

            // Act
            await calendarUserModel.Create(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 CalendarUserModel_Delete_DoesDelete()
        {
            // 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);
            calendarUser.WorkflowState = Constants.WorkflowStates.Created;
            DbContext.CalendarUsers.Add(calendarUser);
            await DbContext.SaveChangesAsync();

            //CalendarUserVersion calendarUserVer = new CalendarUserVersion();


            // Act
            CalendarUserModel calendarUserModel = new CalendarUserModel();

            calendarUserModel.Color = calendarUser.Color;
            calendarUserModel.IsVisibleInCalendar = calendarUser.IsVisibleInCalendar;
            calendarUserModel.NameInCalendar      = calendarUser.NameInCalendar;
            calendarUserModel.SiteId = calendarUser.SiteId;

            calendarUserModel.Id = calendarUser.Id;

            await calendarUserModel.Delete(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);
            Assert.AreEqual(Constants.WorkflowStates.Removed, dbCalendarUser.WorkflowState);
        }
コード例 #4
0
        public async Task <OperationDataResult <CalendarUsersModel> > Index(CalendarUsersRequestModel requestModel)
        {
            try
            {
                CalendarUsersModel        calendarUsersModel = new CalendarUsersModel();
                IQueryable <CalendarUser> calendarUsersQuery = _dbContext.CalendarUsers.AsQueryable();
                if (!string.IsNullOrEmpty(requestModel.Sort))
                {
                    if (requestModel.IsSortDsc)
                    {
                        calendarUsersQuery = calendarUsersQuery
                                             .OrderByDescending(requestModel.Sort);
                    }
                    else
                    {
                        calendarUsersQuery = calendarUsersQuery
                                             .OrderBy(requestModel.Sort);
                    }
                }
                else
                {
                    calendarUsersQuery = _dbContext.CalendarUsers
                                         .OrderBy(x => x.Id);
                }

                calendarUsersQuery = calendarUsersQuery
                                     .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
                                     .Skip(requestModel.Offset)
                                     .Take(requestModel.PageSize);

                List <CalendarUser> calendarUsers = await calendarUsersQuery.ToListAsync();

                calendarUsersModel.Total = await _dbContext.CalendarUsers.CountAsync();

                Core core = await _coreHelper.GetCore();

                calendarUsers.ForEach(calendarUser =>
                {
                    CalendarUserModel item = new CalendarUserModel
                    {
                        Id     = calendarUser.Id,
                        SiteId = calendarUser.SiteId,
                        IsVisibleInCalendar = calendarUser.IsVisibleInCalendar,
                        NameInCalendar      = calendarUser.NameInCalendar,
                        Color = calendarUser.Color,
                    };
                    if (item.SiteId > 0)
                    {
                        SiteDto site = core.SiteRead(item.SiteId).Result;
                        if (site != null)
                        {
                            item.FirstName = site.FirstName;
                            item.LastName  = site.LastName;
                        }
                    }

                    calendarUsersModel.CalendarUsers.Add(item);
                });
                return(new OperationDataResult <CalendarUsersModel>(true, calendarUsersModel));
            }
            catch (Exception e)
            {
                Trace.TraceError(e.Message);
                _logger.LogError(e.Message);
                return(new OperationDataResult <CalendarUsersModel>(false,
                                                                    _caseManagementLocalizationService.GetString("ErrorWhileObtainingCalendarUserInfo")));
            }
        }
コード例 #5
0
        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")));
            }
        }
コード例 #6
0
        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")));
            }
        }
 public async Task <OperationResult> Update([FromBody] CalendarUserModel requestModel)
 {
     return(await _calendarUsersService.Update(requestModel));
 }