private Models.SurveyItem ConvertToSurveyItem(OqtaneSurveyItem objOqtaneSurveyItem) { if (objOqtaneSurveyItem == null) { return(new Models.SurveyItem()); } // Create new Object Models.SurveyItem objSurveyItem = new SurveyItem(); objSurveyItem.Id = objOqtaneSurveyItem.Id; objSurveyItem.ItemLabel = objOqtaneSurveyItem.ItemLabel; objSurveyItem.ItemType = objOqtaneSurveyItem.ItemType; objSurveyItem.ItemValue = objOqtaneSurveyItem.ItemValue; objSurveyItem.Position = objOqtaneSurveyItem.Position; objSurveyItem.Required = objOqtaneSurveyItem.Required; objSurveyItem.SurveyChoiceId = objOqtaneSurveyItem.SurveyChoiceId; // Create new Collection objSurveyItem.SurveyItemOption = new List <SurveyItemOption>(); foreach (OqtaneSurveyItemOption objOqtaneSurveyItemOption in objOqtaneSurveyItem.OqtaneSurveyItemOption) { // Create new Object Models.SurveyItemOption objAddSurveyItemOption = new SurveyItemOption(); objAddSurveyItemOption.Id = objOqtaneSurveyItemOption.Id; objAddSurveyItemOption.OptionLabel = objOqtaneSurveyItemOption.OptionLabel; // Add to Collection objSurveyItem.SurveyItemOption.Add(objAddSurveyItemOption); } return(objSurveyItem); }
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; } }