Exemplo n.º 1
0
        public void UpdateTitles(IEnumerable <MenuViewModel> models, string culture)
        {
            var menuIds = models.Select(m => m.MenuName).ToList();

            var dbRows = (from t in context.NamesTbl
                          where t.Culture == culture && menuIds.Contains(t.Name)
                          select t).ToList();

            foreach (MenuViewModel title in models)
            {
                var modify = dbRows.FirstOrDefault(t => t.Name == title.MenuName);
                if (modify != null)                  // modified row
                {
                    if (modify.Title != title.Title) // title has been changed
                    {
                        modify.Title = title.Title;
                        context.NamesTbl.Attach(modify);
                        context.Entry(modify).State = EntityState.Modified;
                    }
                }
                else // new row
                {
                    var newTitle = new NameTbl
                    {
                        Name    = title.MenuName,
                        Title   = title.Title,
                        Culture = culture
                    };

                    context.NamesTbl.Add(newTitle);
                }
            }
        }
 public void Add(NameTbl name)
 {
     context.NamesTbl.Add(name);
 }