private ActionResponse ValidateDrill(DrillDTO drill, bool isUpdate = false) { DrillsRepository repository = RepositoriesFactory.CreateRepository <DrillsRepository, Drill>(); MuscleGroupsRepository muscleGroupRep = RepositoriesFactory.CreateRepository <MuscleGroupsRepository, MuscleGroup>(); if (repository.Query().Any(currDrill => currDrill.DrillId != drill.Id && currDrill.Name == drill.Name)) { return(new ActionResponse() { CompletedSuccessfully = false, ErrorMessage = "A drill with the given name already exists" }); } bool doAllMuscleGroupsExist = drill.MuscleGroups.All(currNewMuscleGroup => { return(muscleGroupRep.Query().Any(CurrMuscleGroup => CurrMuscleGroup.MuscleGroupId == currNewMuscleGroup.Id)); }); if (!doAllMuscleGroupsExist) { return(new ActionResponse() { CompletedSuccessfully = false, ErrorMessage = "None existing muscle group" }); } return(null); }
public async Task <ActionResponse> DeleteDrill(DrillDTO drillForDelete) { HttpRequestMessage request = await getRequest(HttpMethod.Delete, "drills/" + drillForDelete.Id); HttpResponseMessage response = await getClient().SendAsync(request); if (!response.IsSuccessStatusCode) { return(new ActionResponse() { ErrorMessage = "Operation failed dril did not delete properly", CompletedSuccessfully = false }); } return(JsonConvert.DeserializeObject <ActionResponse>(await response.Content.ReadAsStringAsync())); }
private Drill ConvertDTOToEntity(DrillDTO drill) { return(new Drill() { DrillId = drill.Id, Description = drill.Description, Name = drill.Name, DrillMuscleGroups = drill.MuscleGroups.Select <MuscleGroupDTO, DrillMuscleGroup>(currDrillDTO => { return new DrillMuscleGroup() { MuscleGroupId = currDrillDTO.Id }; }).ToList() }); }
public async Task <ActionResponse> UpdateDrill(DrillDTO drillForUpdate) { HttpRequestMessage request = await getRequest(HttpMethod.Put, "drills"); request.Content = new StringContent(JsonConvert.SerializeObject(drillForUpdate), Encoding.UTF8, "application/json"); HttpResponseMessage response = await getClient().SendAsync(request); if (!response.IsSuccessStatusCode) { return(new ActionResponse() { ErrorMessage = "Operation failed drill did not save properly", CompletedSuccessfully = false }); } return(JsonConvert.DeserializeObject <ActionResponse>(await response.Content.ReadAsStringAsync())); }
public ActionResponse AddNewDrill(DrillDTO newDrill) { ActionResponse response; response = ValidateDrill(newDrill); if (response != null) { return(response); } Drill drillToSave = ConvertDTOToEntity(newDrill); drillToSave.CreatorUserId = GetCurrentUser().UserId; RepositoriesFactory.CreateRepository <DrillsRepository, Drill>().Add(drillToSave); response = new ActionResponse(); response.CompletedSuccessfully = true; return(response); }
public ActionResponse UpdateDrill(DrillDTO newDrill) { ActionResponse response; response = ValidateDrill(newDrill); if (response != null) { return(response); } response = CanUserEditDrill(newDrill.Id); if (response != null) { return(response); } Drill drillForUpdate = ConvertDTOToEntity(newDrill); drillForUpdate.CreatorUserId = GetCurrentUser().UserId; DrillsRepository drillRepository = RepositoriesFactory.CreateRepository <DrillsRepository, Drill>(); Drill existingDrill = drillRepository.Get(drillForUpdate.DrillId); existingDrill.Name = drillForUpdate.Name; existingDrill.Description = drillForUpdate.Description; existingDrill.DrillMuscleGroups = drillForUpdate.DrillMuscleGroups; drillRepository.Update(existingDrill); return(new ActionResponse() { CompletedSuccessfully = true }); }
public DrillEditViewModel(DrillDTO drill) : base(UIEnums.PageModes.Edit) { Drill = drill; }
public DrillViewViewModel(DrillDTO drill) : base(PageModes.View) { this.Drill = drill; }
public DrillCreationViewModel() : base(PageModes.Create) { Drill = new DrillDTO(); }