public void SaveData()
        {
            List <Answer> saveList   = new List <Answer>();
            List <Answer> updateList = new List <Answer>();
            List <Answer> deleteList = new List <Answer>();

            //Разделение вопросов на группы
            AnsverControls.ForEach(o =>
            {
                var z = o as EditAnsverContol;
                if (z.IsChanged)
                {
                    bool isUpdate = false;

                    Ansvers.ForEach(p =>
                    {
                        if (z.Ansver.Equals(p))
                        {
                            updateList.Add(z.Ansver);
                            isUpdate = true;
                        }
                    });
                    if (!isUpdate)
                    {
                        saveList.Add(z.Ansver);
                    }
                }
            });
            deleteList = GetDeleteList();

            //Сохранение, обновление, удаление
            Save(saveList);
            Update(updateList);
            Delete(deleteList);
        }
        private List <Control> CreateControls()
        {
            List <Control> ansverControls = new List <Control>();

            Ansvers.ForEach(x => ansverControls.Add(GetControl(x)));
            ansverControls.ForEach(x => Controls.Add(x));
            return(ansverControls);
        }
        private List <Answer> GetDeleteList()
        {
            List <Answer> deleteList;
            List <Answer> answersInControls = new List <Answer>();

            AnsverControls.ForEach(o =>
            {
                var z = o as EditAnsverContol;
                answersInControls.Add(z.Ansver);
            });
            deleteList = Ansvers.AsQueryable().Except(answersInControls).ToList();
            return(deleteList);
        }
Exemple #4
0
 /// <summary>
 /// Clean up any resources being used.
 /// </summary>
 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
 protected override void Dispose(bool disposing)
 {
     foreach (var component in Ansvers)
     {
         if (component != null)
         {
             component.Dispose();
         }
     }
     Ansvers.Clear();
     if (disposing && (components != null))
     {
         components.Dispose();
     }
     base.Dispose(disposing);
 }