Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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()));
        }
Esempio n. 3
0
 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()
     });
 }
Esempio n. 4
0
        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()));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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
            });
        }
Esempio n. 7
0
 public DrillEditViewModel(DrillDTO drill) : base(UIEnums.PageModes.Edit)
 {
     Drill = drill;
 }
Esempio n. 8
0
 public DrillViewViewModel(DrillDTO drill) : base(PageModes.View)
 {
     this.Drill = drill;
 }
 public DrillCreationViewModel() : base(PageModes.Create)
 {
     Drill = new DrillDTO();
 }