コード例 #1
0
        public OqtaneSurveyItem UpdateSurveyItem(Models.SurveyItem objExistingSurveyItem)
        {
            try
            {
                var ExistingSurveyItem = _db.OqtaneSurveyItem
                                         .Where(x => x.Id == objExistingSurveyItem.Id)
                                         .Include(x => x.OqtaneSurveyItemOption)
                                         .FirstOrDefault();

                ExistingSurveyItem.ItemLabel = objExistingSurveyItem.ItemLabel;
                ExistingSurveyItem.ItemType  = objExistingSurveyItem.ItemType;
                ExistingSurveyItem.ItemValue = objExistingSurveyItem.ItemValue;
                ExistingSurveyItem.Required  = objExistingSurveyItem.Required;

                ExistingSurveyItem.OqtaneSurveyItemOption = ConvertToOqtaneSurveyItems(objExistingSurveyItem.SurveyItemOption);

                _db.SaveChanges();

                return(ExistingSurveyItem);
            }
            catch
            {
                DetachAllEntities();
                throw;
            }
        }
コード例 #2
0
        public Models.SurveyItem Get(int id)
        {
            var objSurvey = _SurveyRepository.GetSurveyItem(id);

            Models.SurveyItem SurveyItem = ConvertToSurveyItem(objSurvey);

            return(SurveyItem);
        }
コード例 #3
0
 public Models.SurveyItem Post([FromBody] Models.SurveyItem SurveyItem)
 {
     if (ModelState.IsValid && SurveyItem.ModuleId == _entityId)
     {
         SurveyItem = ConvertToSurveyItem(_SurveyRepository.CreateSurveyItem(SurveyItem));
         _logger.Log(LogLevel.Information, this, LogFunction.Create, "SurveyItem Added {SurveyItem}", SurveyItem);
     }
     return(SurveyItem);
 }
コード例 #4
0
 public Models.SurveyItem Put(int id, [FromBody] Models.SurveyItem SurveyItem)
 {
     if (ModelState.IsValid && SurveyItem.Id == _entityId)
     {
         SurveyItem = ConvertToSurveyItem(_SurveyRepository.UpdateSurveyItem(SurveyItem));
         _logger.Log(LogLevel.Information, this, LogFunction.Update, "SurveyItem Updated {SurveyItem}", SurveyItem);
     }
     return(SurveyItem);
 }
コード例 #5
0
        // Utility

        #region private IEnumerable<Models.SurveyItem> ConvertToSurveyItems(List<OqtaneSurveyItem> colOqtaneSurveyItems)
        private IEnumerable <Models.SurveyItem> ConvertToSurveyItems(List <OqtaneSurveyItem> colOqtaneSurveyItems)
        {
            List <Models.SurveyItem> colSurveyItemCollection = new List <Models.SurveyItem>();

            foreach (var objOqtaneSurveyItem in colOqtaneSurveyItems)
            {
                // Convert to SurveyItem
                Models.SurveyItem objAddSurveyItem = ConvertToSurveyItem(objOqtaneSurveyItem);

                // Add to Collection
                colSurveyItemCollection.Add(objAddSurveyItem);
            }

            return(colSurveyItemCollection);
        }
コード例 #6
0
        public OqtaneSurveyItem CreateSurveyItem(Models.SurveyItem NewSurveyItem)
        {
            try
            {
                OqtaneSurveyItem objSurveyItem = new OqtaneSurveyItem();

                objSurveyItem.OqtaneSurveyAnswer = new List <OqtaneSurveyAnswer>();

                objSurveyItem.SurveyNavigation =
                    _db.OqtaneSurvey
                    .Where(x => x.ModuleId == NewSurveyItem.ModuleId)
                    .FirstOrDefault();

                objSurveyItem.Id        = 0;
                objSurveyItem.ItemLabel = NewSurveyItem.ItemLabel;
                objSurveyItem.ItemType  = NewSurveyItem.ItemType;
                objSurveyItem.ItemValue = NewSurveyItem.ItemValue;
                objSurveyItem.Required  = NewSurveyItem.Required;
                objSurveyItem.Position  = 0;

                if (NewSurveyItem.SurveyItemOption != null)
                {
                    objSurveyItem.OqtaneSurveyItemOption = ConvertToOqtaneSurveyItems(NewSurveyItem.SurveyItemOption);
                }

                _db.OqtaneSurveyItem.Add(objSurveyItem);
                _db.SaveChanges();

                // Set position
                int CountOfSurveyItems =
                    _db.OqtaneSurveyItem
                    .Where(x => x.SurveyNavigation.ModuleId == NewSurveyItem.ModuleId)
                    .Count();

                objSurveyItem.Position = CountOfSurveyItems;
                _db.SaveChanges();

                return(objSurveyItem);
            }
            catch
            {
                DetachAllEntities();
                throw;
            }
        }
コード例 #7
0
        public void Delete(int id)
        {
            var objSurveyItem = _SurveyRepository.GetSurveyItem(id);

            Models.SurveyItem SurveyItem = ConvertToSurveyItem(objSurveyItem);

            if (SurveyItem != null && SurveyItem.Id == _entityId)
            {
                bool boolResult = _SurveyRepository.DeleteSurveyItem(id);
                if (boolResult)
                {
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "SurveyItem Deleted {Id}", id);
                }
                else
                {
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "Error: SurveyItem *NOT* Deleted {Id}", id);
                }
            }
        }
コード例 #8
0
        public Models.SurveyItem Post(string MoveType, [FromBody] Models.SurveyItem SurveyItem)
        {
            if (ModelState.IsValid && SurveyItem.Id == _entityId)
            {
                // Get the Survey (and all SurveyItems)
                var objSurvey = _SurveyRepository.GetSurvey(SurveyItem.ModuleId);

                if (MoveType == "Up")
                {
                    // Move Up
                    int DesiredPosition = (SurveyItem.Position - 1);

                    // Move the current element in that position
                    var CurrentSurveyItem =
                        objSurvey.OqtaneSurveyItem
                        .Where(x => x.Position == DesiredPosition)
                        .FirstOrDefault();

                    if (CurrentSurveyItem != null)
                    {
                        // Move it down
                        CurrentSurveyItem.Position = CurrentSurveyItem.Position + 1;

                        // Update it
                        _SurveyRepository.UpdateSurveyItem(ConvertToSurveyItem(CurrentSurveyItem));
                    }

                    // Move Item Up
                    var SurveyItemToMoveUp =
                        objSurvey.OqtaneSurveyItem
                        .Where(x => x.Id == SurveyItem.Id)
                        .FirstOrDefault();

                    if (SurveyItemToMoveUp != null)
                    {
                        // Move it up
                        SurveyItemToMoveUp.Position = SurveyItemToMoveUp.Position - 1;

                        // Update it
                        _SurveyRepository.UpdateSurveyItem(ConvertToSurveyItem(SurveyItemToMoveUp));
                    }
                }
                else
                {
                    // Move Down

                    int DesiredPosition = (SurveyItem.Position + 1);

                    // Move the current element in that position
                    var CurrentSurveyItem =
                        objSurvey.OqtaneSurveyItem
                        .Where(x => x.Position == DesiredPosition)
                        .FirstOrDefault();

                    if (CurrentSurveyItem != null)
                    {
                        // Move it down
                        CurrentSurveyItem.Position = CurrentSurveyItem.Position - 1;

                        // Update it
                        _SurveyRepository.UpdateSurveyItem(ConvertToSurveyItem(CurrentSurveyItem));
                    }

                    // Move Item Up
                    var SurveyItemToMoveUp =
                        objSurvey.OqtaneSurveyItem
                        .Where(x => x.Id == SurveyItem.Id)
                        .FirstOrDefault();

                    if (SurveyItemToMoveUp != null)
                    {
                        // Move it up
                        SurveyItemToMoveUp.Position = SurveyItemToMoveUp.Position + 1;

                        // Update it
                        _SurveyRepository.UpdateSurveyItem(ConvertToSurveyItem(SurveyItemToMoveUp));
                    }
                }

                _logger.Log(LogLevel.Information, this, LogFunction.Create, "SurveyItem {SurveyItem} moved", SurveyItem);
            }
            return(SurveyItem);
        }
コード例 #9
0
 public async Task DeleteSurveyItemAsync(Models.SurveyItem SurveyItem)
 {
     await DeleteAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{SurveyItem.Id}", SurveyItem.Id));
 }
コード例 #10
0
 public async Task <Models.SurveyItem> UpdateSurveyItemAsync(Models.SurveyItem SurveyItem)
 {
     return(await PutJsonAsync <Models.SurveyItem>(CreateAuthorizationPolicyUrl($"{Apiurl}/{SurveyItem.Id}", SurveyItem.Id), SurveyItem));
 }
コード例 #11
0
 public async Task <Models.SurveyItem> MoveSurveyItemAsync(string MoveType, Models.SurveyItem SurveyItem)
 {
     return(await PostJsonAsync <Models.SurveyItem>(CreateAuthorizationPolicyUrl($"{Apiurl}/{MoveType}", SurveyItem.Id), SurveyItem));
 }
コード例 #12
0
 public async Task <Models.SurveyItem> AddSurveyItemAsync(Models.SurveyItem SurveyItem)
 {
     return(await PostJsonAsync <Models.SurveyItem>(CreateAuthorizationPolicyUrl($"{Apiurl}", SurveyItem.ModuleId), SurveyItem));
 }