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);
        }
Exemple #3
0
 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);
        }
Exemple #5
0
        public PartialViewResult View(int id)
        {
            ContractTimeline r = Repo.Get(id);

            return(PartialView("View", r));
        }
Exemple #6
0
        public PartialViewResult Add(int contractID, int timeCount, string timeUnit)
        {
            ContractTimeline r = Repo.Add(contractID, timeCount, timeUnit);

            return(PartialView("View", r));
        }