Example #1
0
        public IHttpActionResult Get(string projectId)
        {
            var  entity      = ClosureMemo.Get(projectId);
            bool editable    = false;
            var  storeStatus = StoreBasicInfo.Search(s => s.StoreCode == entity.USCode).Select(s => s.statusName).FirstOrDefault();

            if (storeStatus == "Closed")
            {
                editable = false;
            }
            else
            {
                if (TaskWork.Count(e => e.ReceiverAccount == ClientCookie.UserCode && e.SourceCode == FlowCode.Closure &&
                                   e.TypeCode == FlowCode.Closure_Memo && e.RefID == projectId) > 0)
                {
                    if (entity.Id == Guid.Empty)
                    {
                        editable = true;
                    }
                    else
                    {
                        if (entity.ClosureDate.Value < DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00") && entity.ClosureNature == ClosureNatureType.Permanent)
                        {
                            editable = false;
                        }
                        else
                        {
                            editable = true;
                        }
                    }
                }
                else
                {
                    editable = true;
                }
            }
            var isActor = ProjectUsers.IsRole(projectId, ClientCookie.UserCode, ProjectUserRoleCode.AssetActor);

            return(Ok(new
            {
                Entity = entity,
                Editable = editable,
                IsActor = isActor
            }));
        }
Example #2
0
 public IHttpActionResult Save(ClosureMemo entity)
 {
     using (TransactionScope tranScope = new TransactionScope())
     {
         if (entity.Id != Guid.Empty)
         {
             ClosureMemo.Update(entity);
         }
         else
         {
             entity.Id         = Guid.NewGuid();
             entity.CreateTime = DateTime.Now;
             entity.Creator    = ClientCookie.UserCode;
             ClosureMemo.Add(entity);
         }
         ClosureInfo closure = ClosureInfo.GetByProjectId(entity.ProjectId);
         closure.ActualCloseDate = entity.ClosureDate;
         closure.Update();
         ProjectInfo.FinishNode(entity.ProjectId, FlowCode.Closure_Memo, NodeCode.Closure_ClosureMemo_Input);
         tranScope.Complete();
     }
     return(Ok());
 }