public void AddLetter(DiaryW diary) { diary.Id = Guid.NewGuid(); int activeMax = 0; if (Db.Diaries.Any()) { activeMax = Db.Diaries.Max(d => d.Number); } int archivedMax = 0; if (Db.ArchivedDiaries.Any()) { archivedMax = Db.ArchivedDiaries.Max(ad => ad.Number); } diary.Number = activeMax > archivedMax ? activeMax + 1 : archivedMax + 1; foreach (var item in diary.Products) { item.Id = Guid.NewGuid(); item.DiaryId = diary.Id; foreach (var pt in item.ProductTests) { pt.Id = Guid.NewGuid(); pt.ProductId = item.Id; } } Db.Diaries.Add(diary.ToBase()); Db.SaveChanges(); }
public ActionResult Create() { ViewBag.ClientId = new SelectList(_rep.GetSelectListClients(false), "Id", "Name"); var diary = new DiaryW(); diary.AcceptanceDateAndTime = DateTime.Now; diary.LetterDate = DateTime.Now; return(View(diary)); }
public ActionResult Create(DiaryW diary) { ModelState.Remove("LetterNumber"); if (ModelState.IsValid && diary.Products.Count > 0) { _rep.AddLetter(diary); return(RedirectToAction("Index")); } ViewBag.ClientId = new SelectList(_rep.GetSelectListClients(false), "Id", "Name", diary.ClientId); return(View(diary)); }
public ActionResult Edit(DiaryW diary) { ModelState.Remove("LetterNumber"); if (ModelState.IsValid) { _rep.Edit(diary); return(RedirectToAction("Index")); } ViewBag.ClientId = new SelectList(_rep.GetSelectListClients(false), "Id", "Name", diary.ClientId); ViewBag.Tests = new SelectList(_rep.GetSelectListTests(), "Id", "Name"); return(View(diary)); }
public static DiaryW ToDiaryWrapper(this Diary entity) { var diaryW = new DiaryW() { Id = entity.Id, Number = entity.Number, LetterNumber = entity.LetterNumber, LetterDate = entity.LetterDate, AcceptanceDateAndTime = entity.AcceptanceDateAndTime, Contractor = entity.Contractor, ClientId = entity.ClientId, Comment = entity.Comment, Client = entity.Client, Request = entity.Requests.FirstOrDefault(), Products = entity.Products }; return(diaryW); }
public void Edit(DiaryW diaryW) { var diary = Db.Diaries.Single(c => c.Id == diaryW.Id); diary.LetterNumber = diaryW.LetterNumber; diary.LetterDate = diaryW.LetterDate; diary.Contractor = diaryW.Contractor; diary.ClientId = diaryW.ClientId; diary.AcceptanceDateAndTime = diaryW.AcceptanceDateAndTime; foreach (var item in diary.Products) { var pts = Db.ProductTests.Where(pt => pt.ProductId == item.Id); Db.ProductTests.RemoveRange(pts); } Db.Products.RemoveRange(diary.Products); foreach (var item in diaryW.Products) { item.Id = Guid.NewGuid(); item.DiaryId = diary.Id; foreach (var test in item.ProductTests) { test.Id = Guid.NewGuid(); test.ProductId = item.Id; } diary.Products.Add(item); } Db.SaveChanges(); var request = diary.Requests.FirstOrDefault(); if (request != null) { string charGenerated = _filesRepo.GenerateRequestListReport(diary.Id, request.Date, request.TestingPeriod ?? 0); } }