public ContractTimeline Update(ContractTimeline e) { var r = Get(e.ID); if (r != null) { r.FromDate = e.FromDate; r.ToDate = e.ToDate; if (ValidConflictTimeline(r)) { Save(); e = r; } } return(e); //DB.ContractTimelines.Attach(e); //if (ValidConflictTimeline(e)) //{ // DB.ObjectStateManager.ChangeObjectState(e, System.Data.EntityState.Modified); // Save(); //} //return e; }
public bool ValidConflictTimeline(ContractTimeline e) { bool isValid = true; ContractTimeline preTimeline = Get(e.ContractID, e.Order - 1); ContractTimeline nextTimeline = Get(e.ContractID, e.Order + 1); if (preTimeline != null) { if (preTimeline.IsJoin(e)) { isValid = false; } } if (nextTimeline != null) { if (nextTimeline.IsJoin(e)) { isValid = false; } } return(isValid); }
public PartialViewResult Edit(ContractTimeline r) { if (ModelState.IsValid) { r = Repo.Update(r); return(PartialView("View", r)); } return(PartialView("Edit", r)); }
public ContractTimeline Add(int contractID, int timeCount, string timeUnit) { timeCount = timeCount < 1 ? 1 : timeCount; ContractRepository contractRepo = new ContractRepository() { DB = DB }; Contract contract = contractRepo.Get(contractID); ContractTimeline lastContractTimeline = contract.ContractTimelines.OrderByDescending(r => r.Order).FirstOrDefault(); ContractTimeline newContractTimeline = new ContractTimeline(); if (lastContractTimeline == null) { newContractTimeline.Order = 1; newContractTimeline.FromDate = contract.SignedDate.HasValue ? contract.SignedDate : DateTime.Now.Date; } else { newContractTimeline.Order = lastContractTimeline.Order + 1; newContractTimeline.FromDate = lastContractTimeline.ToDate.Value.AddDays(1); } if (timeUnit.ToLower() == "day") { newContractTimeline.ToDate = newContractTimeline.FromDate.Value.AddDays(timeCount).AddDays(-1); } else if (timeUnit.ToLower() == "month") { newContractTimeline.ToDate = newContractTimeline.FromDate.Value.AddMonths(timeCount).AddDays(-1); } newContractTimeline.ContractID = contractID; DB.AddToContractTimelines(newContractTimeline); Save(); return(newContractTimeline); }
public PartialViewResult View(int id) { ContractTimeline r = Repo.Get(id); return(PartialView("View", r)); }
public PartialViewResult Add(int contractID, int timeCount, string timeUnit) { ContractTimeline r = Repo.Add(contractID, timeCount, timeUnit); return(PartialView("View", r)); }