// GET: /Company/Create public void SaveTags(Company ad) { string s = Request["tags"]; string[] values = s.Split(','); Inspinia_MVC5_SeedProject.Models.Tag[] tags = new Inspinia_MVC5_SeedProject.Models.Tag[values.Length]; CompanyTag[] qt = new CompanyTag[values.Length]; for (int i = 0; i < values.Length; i++) { values[i] = values[i].Trim(); string ss = values[i]; if (ss != "") { var data = db.Tags.FirstOrDefault(x => x.name.Equals(ss, StringComparison.OrdinalIgnoreCase)); tags[i] = new Inspinia_MVC5_SeedProject.Models.Tag(); if (data != null) { tags[i].Id = data.Id; } else { tags[i].name = values[i]; tags[i].time = DateTime.UtcNow; tags[i].createdBy = User.Identity.GetUserId(); db.Tags.Add(tags[i]); } } else { tags[i] = null; } } try { db.SaveChanges(); } catch (Exception e) { string sb = e.ToString(); } for (int i = 0; i < values.Length; i++) { if (tags[i] != null) { qt[i] = new CompanyTag(); qt[i].companyId = ad.Id; qt[i].tagId = tags[i].Id; db.CompanyTags.Add(qt[i]); } } }
public async Task<object> UpdateTags(string s, int companyId) { var com =await db.Companies.Include("CompanyTags").FirstOrDefaultAsync(x => x.Id.Equals(companyId)); var temp = com.CompanyTags.ToList(); foreach (var cc in temp) { db.CompanyTags.Remove(cc); } await db.SaveChangesAsync(); if(s == null) { return -1; } string[] values = s.Split(','); Tag[] tags = new Tag[values.Length]; CompanyTag[] qt = new CompanyTag[values.Length]; for (int i = 0; i < values.Length; i++) { values[i] = values[i].Trim(); string ss = values[i]; if (ss != "") { var data = await db.Tags.FirstOrDefaultAsync(x => x.name.Equals(ss, StringComparison.OrdinalIgnoreCase)); tags[i] = new Tag(); if (data != null) { tags[i].Id = data.Id; } else { tags[i].name = values[i]; tags[i].time = DateTime.UtcNow; tags[i].createdBy = User.Identity.GetUserId(); db.Tags.Add(tags[i]); } } else { tags[i] = null; } } try { await db.SaveChangesAsync(); } catch (Exception e) { string sb = e.ToString(); } for (int i = 0; i < values.Length; i++) { if (tags[i] != null) { qt[i] = new CompanyTag(); qt[i].companyId = companyId; qt[i].tagId = tags[i].Id; db.CompanyTags.Add(qt[i]); } } await db.SaveChangesAsync(); var ret = from taa in qt select new { name = taa.Tag.name, }; return ret; }