コード例 #1
0
        public string SaveAcceleratorsForTeam(TeamAppAcceleratorsDto teamAppAcceleratorsDto)
        {
            using (ConsoleRepository)
            {
                // Check does Team Accelerators exist
                var team = ConsoleRepository.Query<Team>(t => t.AppAccelerators).FirstOrDefault(t => t.Id == teamAppAcceleratorsDto.TeamId);

                bool appAcceleratorsChanged = false;
                if (team != null)
                {
                    // Remove Accelerators that need to be removed
                    var currentTeamAppAccelerators = team.AppAccelerators.Select(t => t.Id).ToList();
                    var appAcceleratorsToRemove =
                        currentTeamAppAccelerators.Except(teamAppAcceleratorsDto.TeamAppAcceleratorsIdList ??
                                                          new List<string>()).ToList();

                    foreach (var appAcceleratorId in appAcceleratorsToRemove.Where(a => !String.IsNullOrEmpty(a)))
                    {
                        var aa = team.AppAccelerators.FirstOrDefault(a => a.Id == appAcceleratorId);
                        team.AppAccelerators.Remove(aa);
                        appAcceleratorsChanged = true;
                    }

                    // Add Accelerators that need to be added
                    foreach (
                        var appAcceleratorId in teamAppAcceleratorsDto.TeamAppAcceleratorsIdList ?? new List<string>())
                    {
                        if (team.AppAccelerators.Any(a => a.Id == appAcceleratorId)) continue;
                        if (!String.IsNullOrEmpty(appAcceleratorId))
                        {
                            var appAcceleratorToAdd = new AppAccelerator() { Id = appAcceleratorId };
                            ConsoleRepository.AttachUnchanged<AppAccelerator>(appAcceleratorToAdd);

                            team.AppAccelerators.Add(appAcceleratorToAdd);
                            appAcceleratorsChanged = true;
                        }
                    }

                    ConsoleRepository.SaveChanges();

                    if (appAcceleratorsChanged)
                        return "Saved Accelerator(s) for Team";
                    else
                        return "Accelerator(s) for Team have not changed";
                }
                else
                {
                    return "Save Accelerators - Team does not Exist";
                }
            }
        }
コード例 #2
0
 public string DeleteAccelerator(AppAccelerator accelerator)
 {
     using (ConsoleRepository)
     {
         ConsoleRepository.Attach<AppAccelerator>(accelerator);
         ConsoleRepository.Delete<AppAccelerator>(accelerator);
         ConsoleRepository.SaveChanges();
         return "Successfully Deleted accelerator";
     }
 }
コード例 #3
0
 public AppAccelerator EditAccelerator(AppAccelerator accelerator)
 {
     using (ConsoleRepository)
     {
         ConsoleRepository.Attach<AppAccelerator>(accelerator);
         ConsoleRepository.SaveChanges();
         return accelerator;
     }
 }
コード例 #4
0
 public AppAccelerator CreateAccelerator(AppAccelerator accelerator)
 {
     using (ConsoleRepository)
     {
         ConsoleRepository.Add<AppAccelerator>(accelerator);
         ConsoleRepository.SaveChanges();
         return accelerator;
     }
 }
コード例 #5
0
        public ActionResult DeleteAccelerator(AppAccelerator accelerator)
        {
            try
            {
                var result = _adminModuleManager.DeleteAccelerator(accelerator);

                return new JsonNetResult
                {
                    Data = result
                };
            }
			catch (Exception ex) // TODO: Remove
            {
                _logHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent);
                throw new HttpException(500, "Server Error");
            }
        }
コード例 #6
0
        public ActionResult EditAccelerator(AppAccelerator accelerator)
        {
            if (!ModelState.IsValid)
				throw new HttpException(406, "Not Acceptable - Invalid Data"); // TODO: Use Http status code enum and cast

            try
            {
                var updatedAccelerator = _adminModuleManager.EditAccelerator(accelerator);

                return new JsonNetResult
                {
                    Data = updatedAccelerator
                };
            }
			catch (Exception ex) // TODO: Remove
            {
                _logHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent);
                throw new HttpException(500, "Server Error");
            }
        }