public ListViewModel GetListViewModel(int id) { ListViewModel lvm = new ListViewModel { ListId = id }; using (SlpContext context = new SlpContext()) { if (lvm.ListId == (int)ListEnum.AssistancePrograms) { lvm.TableValues.AddRange(context.AssistanceProgram.Select(a => new NameValueViewModel { Name = a.Name, Value = a.Id, SelectedItem = a.Visible })); } else if (lvm.ListId == (int)ListEnum.ChildCategories) { lvm.TableValues.AddRange(context.ChildAttributeTypes.Select(a => new NameValueViewModel { Name = a.Name, Value = a.Id, SelectedItem = a.Visible })); } else if (lvm.ListId == (int)ListEnum.EthnicityList) { lvm.TableValues.AddRange(context.Ethnicity.Select(a => new NameValueViewModel { Name = a.Name, Value = a.Id, SelectedItem = a.Visible })); } else if (lvm.ListId == (int)ListEnum.RaceList) { lvm.TableValues.AddRange(context.Race.Select(a => new NameValueViewModel { Name = a.Name, Value = a.Id, SelectedItem = a.Visible })); } else if (lvm.ListId == (int)ListEnum.IncomeFrequencies) { lvm.TableValues.AddRange(context.Frequency.Select(a => new NameValueViewModel { Name = a.Name, Value = a.Id, SelectedItem = a.Visible })); } else if (lvm.ListId == (int)ListEnum.IncomeQuestionsChild) { lvm.TableValues.AddRange(context.IncomeQuestions.Where(b=>b.IsChild == true).Select(a => new NameValueViewModel { Name = a.Text, Value = a.Id, SelectedItem = a.Visible, Type= a.Type })); } else if (lvm.ListId == (int)ListEnum.IncomeQuestionsAdult) { lvm.TableValues.AddRange(context.IncomeQuestions.Where(b => b.IsChild == false).Select(a => new NameValueViewModel { Name = a.Text, Value = a.Id, SelectedItem = a.Visible, Type = a.Type })); } } return lvm; }
public void SaveListViewModel(ListViewModel lvm) { using (SlpContext context = new SlpContext()) { if (lvm.ListId == (int)ListEnum.AssistancePrograms) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim()!= "") { context.AssistanceProgram.Add(new AssistanceProgram { Name = item.Name, Visible = item.SelectedItem }); } else { var dbitem = context.AssistanceProgram.Find(item.Value); dbitem.Name = item.Name; dbitem.Visible = item.SelectedItem; } } } else if (lvm.ListId == (int)ListEnum.ChildCategories) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim() != "") { context.ChildAttributeTypes.Add(new ChildAttributeType { Name = item.Name, Visible = item.SelectedItem }); } else { var dbitem = context.ChildAttributeTypes.Find(item.Value); dbitem.Name = item.Name; dbitem.Visible = item.SelectedItem; } } } else if (lvm.ListId == (int)ListEnum.EthnicityList) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim() != "") { context.Ethnicity.Add(new Ethnicity { Name = item.Name, Visible = item.SelectedItem }); } else { var dbitem = context.Ethnicity.Find(item.Value); dbitem.Name = item.Name; dbitem.Visible = item.SelectedItem; } } } else if (lvm.ListId == (int)ListEnum.RaceList) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim() != "") { context.Race.Add(new Race { Name = item.Name, Visible = item.SelectedItem }); } else { var dbitem = context.Race.Find(item.Value); dbitem.Name = item.Name; dbitem.Visible = item.SelectedItem; } } } else if (lvm.ListId == (int)ListEnum.IncomeFrequencies) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim() != "") { context.Frequency.Add(new Frequency { Name = item.Name, Visible = item.SelectedItem }); } else { var dbitem = context.Frequency.Find(item.Value); dbitem.Name = item.Name; dbitem.Visible = item.SelectedItem; } } } else if (lvm.ListId == (int)ListEnum.IncomeQuestionsChild || lvm.ListId == (int)ListEnum.IncomeQuestionsAdult) { foreach (NameValueViewModel item in lvm.TableValues) { if (item.Value == 0 && item.Name != null && item.Name.Trim() != "") { context.IncomeQuestions.Add(new IncomeQuestion { Text = item.Name, Visible = item.SelectedItem, IsChild = lvm.ListId == (int)ListEnum.IncomeQuestionsChild, Type = item.Type }); } else { var dbitem = context.IncomeQuestions.Find(item.Value); dbitem.Text = item.Name; dbitem.Visible = item.SelectedItem; dbitem.Type = item.Type; } } } context.SaveChanges(); } }
public JsonResult SaveListViewModel(ListViewModel lvm) { adminOrchestrator.SaveListViewModel(lvm); return GetListViewModel(lvm.ListId); }