/// <summary>
        /// Upload current files loaded from view to server folder
        /// </summary>
        /// <param name="files">Array of files uploaded</param>
        /// <returns>ActionResultDTO with process result</returns>
        private ActionResultDTO UploadFilesToServer(HttpPostedFileBase[] files)
        {
            ActionResultDTO actionResultDTO = new ActionResultDTO();

            try
            {
                actionResultDTO = ValidateCurrentData(files);
                if (actionResultDTO.HasErrors)
                {
                    return(actionResultDTO);
                }

                foreach (HttpPostedFileBase file in files)
                {
                    if (file != null)
                    {
                        var InputFileName  = Path.GetFileName(file.FileName);
                        var ServerSavePath = Path.Combine(string.Format("{0}{1}",
                                                                        ServerFilesFolderPath,
                                                                        InputFileName));

                        file.SaveAs(ServerSavePath);

                        actionResultDTO.UserMessage = string.Format("{0} archivos cargados con éxito", files.Count());
                    }
                }
            }
            catch (Exception ex)
            {
                actionResultDTO.SetError("Ocurrió un error tratanto de cargar los archivos.", ex.ToString());
            }

            return(actionResultDTO);
        }
        public ActionResultDTO AddMembership(List <GroupMembershipEntity> groupMemberships)
        {
            var group        = new GroupEntity();
            var actionResult = new ActionResultDTO();

            foreach (var membership in groupMemberships.Where(membership => !_uow.GroupMembershipRepository.Exists(
                                                                  g => g.ComputerId == membership.ComputerId && g.GroupId == membership.GroupId)))
            {
                _uow.GroupMembershipRepository.Insert(membership);
                group = new GroupServices().GetGroup(membership.GroupId);
            }
            _uow.Save();
            actionResult.Success = true;

            if (group.SetDefaultProperties == 1)
            {
                var groupProperty = new GroupServices().GetGroupProperty(group.Id);
                new GroupPropertyServices().UpdateComputerProperties(groupProperty);
            }

            if (group.SetDefaultBootMenu == 1)
            {
                var groupBootMenu = new GroupServices().GetGroupBootMenu(group.Id);
                new GroupBootMenuServices().UpdateGroupMemberBootMenus(groupBootMenu);
            }

            return(actionResult);
        }
        public ActionResultDTO UpdateProfile(ImageProfileEntity profile)
        {
            var existingProfile = ReadProfile(profile.Id);

            if (existingProfile == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Image Profile Not Found", Id = 0
                }
            }
            ;

            var actionResult     = new ActionResultDTO();
            var validationResult = ValidateImageProfile(profile, false);

            if (validationResult.Success)
            {
                if (!string.IsNullOrEmpty(profile.ModelMatch))
                {
                    profile.ModelMatch = profile.ModelMatch.ToLower();
                }
                _uow.ImageProfileRepository.Update(profile, profile.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = profile.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #4
0
        public ActionResultDTO AddImage(ImageEntity image)
        {
            var validationResult = ValidateImage(image, true);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.ImageRepository.Insert(image);
                _uow.Save();
                actionResult.Id = image.Id;
                var defaultProfile = SeedDefaultImageProfile(image.Id);
                defaultProfile.ImageId = image.Id;
                new ImageProfileServices().AddProfile(defaultProfile);

                var dirCreateResult = new FilesystemServices().CreateNewImageFolders(image.Name);
                actionResult.Success = dirCreateResult;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
                return(actionResult);
            }

            return(actionResult);
        }
Exemple #5
0
        public ActionResultDTO CheckApprovalAndChecksum(ImageEntity image, int userId)
        {
            var actionResult = new ActionResultDTO();

            if (image == null)
            {
                actionResult.Success      = false;
                actionResult.ErrorMessage = "Image Does Not Exist";
                return(actionResult);
            }

            if (image.Enabled == 0)
            {
                actionResult.Success      = false;
                actionResult.ErrorMessage = "Image Is Not Enabled";
                return(actionResult);
            }

            if (SettingServices.GetSettingValue(SettingStrings.RequireImageApproval).ToLower() == "true")
            {
                var user = _userServices.GetUser(userId);
                if (user.Membership != "Administrator") //administrators don't need image approval
                {
                    if (!Convert.ToBoolean(image.Approved))
                    {
                        actionResult.Success      = false;
                        actionResult.ErrorMessage = "Image Has Not Been Approved";
                        return(actionResult);
                    }
                }
            }

            actionResult.Success = true;
            return(actionResult);
        }
Exemple #6
0
        public ActionResultDTO UpdateProfile(ImageProfileEntity profile)
        {
            var existingProfile = ReadProfile(profile.Id);

            if (existingProfile == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Image Profile Not Found", Id = 0
                }
            }
            ;

            var actionResult     = new ActionResultDTO();
            var validationResult = ValidateImageProfile(profile, false);

            if (!string.IsNullOrEmpty(profile.MunkiAuthPassword))
            {
                profile.MunkiAuthPassword = new EncryptionServices().EncryptText(profile.MunkiAuthPassword);
            }
            if (validationResult.Success)
            {
                _uow.ImageProfileRepository.Update(profile, profile.Id);
                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = profile.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
        public ActionResultDTO DeleteUnregisteredOndTask(int activeImagingTaskId)
        {
            var activeImagingTask = _uow.ActiveImagingTaskRepository.GetById(activeImagingTaskId);

            if (activeImagingTask == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Task Not Found", Id = 0
                }
            }
            ;
            if (activeImagingTask.ComputerId > -1)
            {
                return new ActionResultDTO
                       {
                           ErrorMessage = "This Task Is Not An On Demand Task And Cannot Be Cancelled",
                           Id           = 0
                       }
            }
            ;

            _uow.ActiveImagingTaskRepository.Delete(activeImagingTask.Id);
            _uow.Save();

            var actionResult = new ActionResultDTO();

            actionResult.Success = true;
            actionResult.Id      = activeImagingTaskId;

            return(actionResult);
        }
        public ActionResultDTO AddClusterGroupDistributionPoints(List <ClusterGroupDistributionPointEntity> listOfDps)
        {
            var actionResult = new ActionResultDTO();
            var clusterGroupDistributionPointEntity = listOfDps[0];

            if (clusterGroupDistributionPointEntity != null)
            {
                DeleteClusterGroupDistributionPoints(clusterGroupDistributionPointEntity.ClusterGroupId);
                if (clusterGroupDistributionPointEntity.DistributionPointId == -2)
                {
                    actionResult.Success = true;
                    return(actionResult);
                }
            }

            var firstDp = listOfDps[0];

            if (firstDp != null)
            {
                DeleteClusterGroupDistributionPoints(firstDp.ClusterGroupId);
            }

            foreach (var dp in listOfDps)
            {
                _uow.ClusterGroupDistributionPointRepository.Insert(dp);
            }
            _uow.Save();

            actionResult.Success = true;
            return(actionResult);
        }
Exemple #9
0
        public ActionResultDTO UpdateNetBootProfile(NetBootProfileEntity profile)
        {
            var s = GetProfile(profile.Id);

            if (s == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "NetBoot Profile Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateProfile(profile, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.NetBootProfileRepository.Update(profile, profile.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = profile.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
        public ActionResultDTO DeleteImageClassification(int imageClassificationId)
        {
            var imageClassification = GetImageClassification(imageClassificationId);

            if (imageClassification == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Image Classification Not Found", Id = 0
                }
            }
            ;
            _uow.ImageClassificationRepository.Delete(imageClassificationId);
            _uow.Save();

            var images       = _uow.ImageRepository.Get(x => x.ClassificationId == imageClassificationId);
            var imageService = new ImageServices();

            foreach (var image in images)
            {
                image.ClassificationId = -1;

                imageService.UpdateImage(image);
            }


            var actionResult = new ActionResultDTO();

            actionResult.Success = true;
            actionResult.Id      = imageClassification.Id;
            return(actionResult);
        }
        public ActionResultDTO UpdateImageClassification(ImageClassificationEntity imageClassification)
        {
            var r = GetImageClassification(imageClassification.Id);

            if (r == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Image Classification Not Found", Id = 0
                }
            }
            ;

            var validationResult = ValidateImageClassification(imageClassification, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.ImageClassificationRepository.Update(imageClassification, imageClassification.Id);

                _uow.Save();

                actionResult.Success = true;
                actionResult.Id      = imageClassification.Id;
            }

            return(actionResult);
        }
        public ActionResultDTO UpdateFileFolder(FileFolderEntity fileFolder)
        {
            var ff = GetFileFolder(fileFolder.Id);

            if (ff == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "File Folder Not Found", Id = 0
                }
            }
            ;
            var actionResult = new ActionResultDTO();

            var validationResult = ValidateFileFolder(fileFolder, false);

            if (validationResult.Success)
            {
                _uow.FileFolderRepository.Update(fileFolder, fileFolder.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = fileFolder.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #13
0
        public ActionResultDTO UpdateUser(CloneDeployUserEntity user)
        {
            var u = GetUser(user.Id);

            if (u == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "User Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateUser(user, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.UserRepository.Update(user, user.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = user.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #14
0
        public ActionResultDTO DeleteUserGroup(int userGroupId)
        {
            var ug = GetUserGroup(userGroupId);

            if (ug == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "User Group Not Found", Id = 0
                }
            }
            ;

            var groupMembers = GetGroupMembers(userGroupId);

            foreach (var groupMember in groupMembers)
            {
                groupMember.UserGroupId = -1;

                new UserServices().UpdateUser(groupMember);
            }

            _uow.UserGroupRepository.Delete(userGroupId);
            _uow.Save();
            var actionResult = new ActionResultDTO();

            actionResult.Success = true;
            actionResult.Id      = ug.Id;
            return(actionResult);
        }
Exemple #15
0
        public ActionResultDTO DeleteComputer(int id)
        {
            var computer = GetComputer(id);

            if (computer == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Computer Not Found", Id = 0
                }
            }
            ;

            var validationResult = ValidateComputer(computer, "delete");
            var result           = new ActionResultDTO();

            if (validationResult.Success)
            {
                DeleteComputerLogs(computer.Id); //no fk on logs because on demand logs don't have a computer

                _uow.ComputerRepository.Delete(computer.Id);
                _uow.Save();
                result.Success = true;
                result.Id      = computer.Id;
            }
            else
            {
                result.ErrorMessage = validationResult.ErrorMessage;
            }
            return(result);
        }
        public ActionResultDTO UpdateSysprepTag(SysprepTagEntity sysprepTag)
        {
            var tag = GetSysprepTag(sysprepTag.Id);

            if (tag == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Sysprep Tag Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateSysprepTag(sysprepTag, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.SysprepTagRepository.Update(sysprepTag, sysprepTag.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = sysprepTag.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #17
0
        public ActionResultDTO UpdateComputer(ComputerEntity computer)
        {
            var existingcomputer = GetComputer(computer.Id);

            if (existingcomputer == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Computer Not Found", Id = 0
                }
            }
            ;

            computer.Mac = StringManipulationServices.FixMac(computer.Mac);
            var actionResult     = new ActionResultDTO();
            var validationResult = ValidateComputer(computer, "update");

            if (validationResult.Success)
            {
                _uow.ComputerRepository.Update(computer, computer.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = computer.Id;
            }
            else
            {
                actionResult.Success      = false;
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
        public ActionResultDTO DeleteComputer(int id)
        {
            var computer = GetComputer(id);

            if (computer == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Computer Not Found", Id = 0
                }
            }
            ;

            var validationResult = ValidateComputer(computer, "delete");
            var result           = new ActionResultDTO();

            if (validationResult.Success)
            {
                DeleteComputerMemberships(computer.Id);

                DeleteComputerBootMenus(computer.Id);
                DeleteComputerLogs(computer.Id);
                _uow.ComputerRepository.Delete(computer.Id);
                _uow.Save();
                result.Success = true;
                result.Id      = computer.Id;
            }
            else
            {
                result.ErrorMessage = validationResult.ErrorMessage;
            }
            return(result);
        }
Exemple #19
0
        public ActionResultDTO UpdateBuilding(BuildingEntity building)
        {
            var actionResult     = new ActionResultDTO();
            var existingBuilding = GetBuilding(building.Id);

            if (existingBuilding == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Building Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateBuilding(building, false);

            if (validationResult.Success)
            {
                _uow.BuildingRepository.Update(building, building.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = building.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }
            return(actionResult);
        }
Exemple #20
0
        public ActionResultDTO AddGroup(GroupEntity group, int userId)
        {
            var actionResult     = new ActionResultDTO();
            var validationResult = ValidateGroup(group, true);

            if (validationResult.Success)
            {
                _uow.GroupRepository.Insert(group);
                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = group.Id;
                //If Group management is being used add this group to the allowed users list
                var user = new UserServices().GetUser(userId);
                if (user.GroupManagementEnabled == 1)
                {
                    new UserGroupManagementServices().AddUserGroupManagements(
                        new List <UserGroupManagementEntity>
                    {
                        new UserGroupManagementEntity
                        {
                            GroupId = group.Id,
                            UserId  = userId
                        }
                    });
                }
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
        public ActionResultDTO DeleteActiveImagingTask(int activeImagingTaskId)
        {
            var activeImagingTask = _uow.ActiveImagingTaskRepository.GetById(activeImagingTaskId);

            if (activeImagingTask == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Task Not Found", Id = 0
                }
            }
            ;
            var computer = _uow.ComputerRepository.GetById(activeImagingTask.ComputerId);

            _uow.ActiveImagingTaskRepository.Delete(activeImagingTask.Id);
            _uow.Save();

            var actionResult = new ActionResultDTO();

            actionResult.Success = true;
            actionResult.Id      = activeImagingTaskId;

            if (computer != null)
            {
                new CleanTaskBootFiles(computer).Execute();
            }

            return(actionResult);
        }
Exemple #22
0
        public ActionResultDTO UpdateGroup(GroupEntity group)
        {
            var g = GetGroup(group.Id);

            if (g == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Group Not Found", Id = 0
                }
            }
            ;

            var result           = new ActionResultDTO();
            var validationResult = ValidateGroup(group, false);

            if (validationResult.Success)
            {
                _uow.GroupRepository.Update(group, group.Id);

                _uow.Save();
                result.Success = true;
                result.Id      = group.Id;
            }
            else
            {
                result.ErrorMessage = validationResult.ErrorMessage;
            }

            return(result);
        }
Exemple #23
0
        public ActionResultDTO UpdateImage(ImageEntity image)
        {
            var originalImage = GetImage(image.Id);

            if (originalImage == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Image Not Found", Id = 0
                }
            }
            ;
            var result = new ActionResultDTO();

            var updateFolderName = originalImage.Name != image.Name;
            var oldName          = originalImage.Name;
            var validationResult = ValidateImage(image, false);

            if (validationResult.Success)
            {
                _uow.ImageRepository.Update(image, image.Id);

                _uow.Save();
                result.Id = image.Id;
                if (updateFolderName)
                {
                    result.Success = new FilesystemServices().RenameImageFolder(oldName, image.Name);
                }
                else
                {
                    result.Success = true;
                }
            }
            return(result);
        }
        public ActionResultDTO UpdateBootTemplate(BootTemplateEntity bootTemplate)
        {
            var existingtemplate = GetBootTemplate(bootTemplate.Id);

            if (existingtemplate == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Boot Template Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateTemplate(bootTemplate, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.BootTemplateRepository.Update(bootTemplate, bootTemplate.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = bootTemplate.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #25
0
        public ActionResultDTO UpdateScript(ScriptEntity script)
        {
            var s = GetScript(script.Id);

            if (s == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Script Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateScript(script, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.ScriptRepository.Update(script, script.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = script.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #26
0
        public ActionResultDTO UpdateClusterGroup(ClusterGroupEntity clusterGroup)
        {
            var s = GetClusterGroup(clusterGroup.Id);

            if (s == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Cluster Group Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateClusterGroup(clusterGroup, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.ClusterGroupRepository.Update(clusterGroup, clusterGroup.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = clusterGroup.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
Exemple #27
0
        public ActionResultDTO UpdateRoom(RoomEntity room)
        {
            var r = GetRoom(room.Id);

            if (r == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Room Not Found", Id = 0
                }
            }
            ;

            var validationResult = ValidateRoom(room, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.RoomRepository.Update(room, room.Id);

                _uow.Save();

                actionResult.Success = true;
                actionResult.Id      = room.Id;
            }

            return(actionResult);
        }
Exemple #28
0
        public ActionResultDTO UpdateSite(SiteEntity site)
        {
            var s = GetSite(site.Id);

            if (s == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Site Not Found", Id = 0
                }
            }
            ;
            var validationResult = ValidateSite(site, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.SiteRepository.Update(site, site.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = site.Id;
            }
            else
            {
                actionResult.ErrorMessage = validationResult.ErrorMessage;
            }

            return(actionResult);
        }
        public ActionResultDTO UpdateAlternateServerIp(AlternateServerIpEntity alternateServerIp)
        {
            var r = GetAlternateServerIp(alternateServerIp.Id);

            if (r == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Alternate Server Ip Not Found", Id = 0
                }
            }
            ;

            var validationResult = ValidateAlternateServerIp(alternateServerIp, false);
            var actionResult     = new ActionResultDTO();

            if (validationResult.Success)
            {
                _uow.AlternateServerIpRepository.Update(alternateServerIp, alternateServerIp.Id);

                _uow.Save();

                actionResult.Success = true;
                actionResult.Id      = alternateServerIp.Id;
            }

            return(actionResult);
        }
        public ActionResultDTO UpdateManifest(MunkiManifestTemplateEntity manifest)
        {
            var m = GetManifest(manifest.Id);

            if (m == null)
            {
                return new ActionResultDTO {
                           ErrorMessage = "Manifest Template Not Found", Id = 0
                }
            }
            ;
            var actionResult     = new ActionResultDTO();
            var validationResult = ValidateManifest(manifest, false);

            if (validationResult.Success)
            {
                _uow.MunkiManifestRepository.Update(manifest, manifest.Id);

                _uow.Save();
                actionResult.Success = true;
                actionResult.Id      = manifest.Id;
            }

            return(actionResult);
        }