public void Save(CompanyEditItem item) { item.GetValidationErrors().ThrowIfHasErrors(); var company = new Company(); if (item.Id != 0) { company = Db.Companies.Single(x => x.Id == item.Id); } else { company.DateCreate = DateTime.Now; Db.Companies.Add(company); } company.StateId = item.StateId; company.Name = item.Name; company.ActivityType = item.ActivityType; company.Address = item.Address; company.Remarks = item.Remarks; company.WebSites = item.WebSites; company.DateModify = DateTime.Now; Db.SaveChanges(); item.Id = company.Id; }
public ActionResult Save([FromBody] CompanyEditItem item) { if (item.StateId == 0) { item.StateId = null; } Service.Company.Save(item); return(Json(item)); }
public CompanyEditItem Get(int?id) { var editItem = new CompanyEditItem(); if (id != 0) { var company = Db.Companies .Select(x => new CompanyEditItem { Id = x.Id, Name = x.Name, StateId = x.StateId, Remarks = x.Remarks, ActivityType = x.ActivityType, Address = x.Address, WebSites = x.WebSites, Phones = x.Phones .Select(p => new PhoneEditItem { Id = p.Id, Remarks = p.Remarks, DateCreate = p.DateCreate, DateModify = p.DateModify, Number = p.Number, CompanyId = p.CompanyId }) .OrderBy(n => n.Number) .ToList(), Records = x.Phones.SelectMany(i => i.CallRecords) .OrderByDescending(s => s.DateCreate) .Select(r => new CallRecordItem { Id = r.Id, Content = r.Content, Phone = r.Phone.Number, DateCreate = r.DateCreate, PhoneId = r.PhoneId }) .ToList(), Quotes = x.Quotes .Select(q => new QuoteItem { Id = q.Id, DateModify = q.DateModify, Name = q.Name, CustomDesign = q.CustomDesign, DateCreate = q.DateCreate, CompanyId = q.CompanyId, Costings = q.Costings .Select(c => new CostingItem { Total = c.Total, Cost = c.Cost, Id = c.Id, CategoryId = c.CategoryId, DateModify = c.DateModify, Name = c.Name, Unit = c.Unit, DateCreate = c.DateCreate, Qty = c.Qty, Multiplier = c.Multiplier, QuoteId = c.QuoteId }) .OrderBy(s => s.CategoryId) .ToList() }) .ToList() }) .FirstOrDefault(x => x.Id == id); company.Quotes .ForEach(x => x.Costings = x.Costings .OrderBy(c => c.CategoryName) .ThenBy(c => c.Name) .ToList()); return(company); } return(editItem); }