public ActionResult Index(PlanViewModel model) { if (ModelState.IsValid) { Plan PlanToAdd = new Plan(); PlanToAdd.PlanName = model.PlanName; PlanToAdd.UserId = Guid.Parse(_currentUser); PlanToAdd.CreationDate = DateTime.Now; var result = _plans.Add(PlanToAdd); return(RedirectToAction("Index", "Plans")); } return(View(model)); }
public void CanAddPlan() { var provider = new PersistentPlanStorage(null); var cache = new PlanCache(new ExpirationStrategyMock()); var repository = new PlanRepository(new PlanStorage(cache, provider)); var plan = GenerateTestPlan(); repository.Add(plan); repository.SaveChanges(); var loadedPlan = provider.LoadPlan(Guid.Empty); AssertEquals(plan, loadedPlan); AssertEquals(plan, repository.GetById <PlanDO>(NewGuid(13))); }
public void CanAddPlanWithEmptyDefaultIds() { var provider = new PersistentPlanStorage(null); var cache = new PlanCache(new ExpirationStrategyMock()); var repository = new PlanRepository(new PlanStorage(cache, provider)); var refPlan = GenerateTestPlan(); PlanTreeHelper.Visit(refPlan, x => x.Id = Guid.Empty); repository.Add(refPlan); repository.SaveChanges(); PlanTreeHelper.Visit(refPlan, x => Assert.IsTrue(x.Id != Guid.Empty)); var loadedPlan = provider.LoadPlan(Guid.Empty); AssertEquals(refPlan, loadedPlan); }
public OpResult SaveOrUpdate(Plans plan) { if (plan.Id.IsNullOrEmpty()) { plan.Id = Guid.NewGuid().ToString("N"); plan.CreateDT = DateTime.Now; plan.CreateUID = CurrentUser.UID; plan.Status = 375; PlanRepository.Add(plan, false); } else { var source = PlanRepository.GetQuery(o => o.Id == plan.Id).Include(o => o.Attachments).Include(o => o.Replys).FirstOrDefault(); plan.ToCopyProperty(source, new List <string>() { "CreateDT", "CreateUID", "Status" }); if (plan.Attachments != null) { source.Attachments.AddRange(plan.Attachments); } if (plan.Replys != null) { source.Replys.AddRange(plan.Replys); } } if (plan.Attachments != null) { string path = ""; string fullPath = FileHelper.SaveAttachPath(ref path); for (var i = plan.Attachments.Count - 1; i >= 0; i--) { var attach = plan.Attachments[i]; if (!attach.Bytes.Any()) { plan.Attachments.Remove(attach); continue; } attach.CreateDT = DateTime.Now; attach.CreateUID = CurrentUser.UID; attach.ItemId = plan.Id; attach.NewName = Guid.NewGuid().ToString("N") + "." + attach.ExtName; attach.Path = path; using (var fs = new FileStream(fullPath + attach.NewName, FileMode.OpenOrCreate)) { fs.Write(attach.Bytes, 0, attach.Bytes.Length); fs.Close(); } } } if (plan.Replys != null) { plan.Replys.Each(o => { o.CreateDT = DateTime.Now; o.Creater = CurrentUser.FullName; o.CreateUID = CurrentUser.UID; o.PlanId = plan.Id; }); } PlanRepository.SaveChanges(); return(OpResult.Success()); }
public void Add(Plan item) { planRepo.Add(item); }