예제 #1
0
 static public bool AddRequestStatu(ref DdRequestStatusExt item, RevisionInfo revisionInfo)
 {
   DaRequestStatus da = new DaRequestStatus(DataStore.DbConnection);
   da.Clear();
   da.ChangeRequestREF = item.ChangeRequestREF;
   da.Comment = item.Comment;
   da.EffectiveDate = item.EffectiveDate;
   da.Hours = item.Hours;
   da.Modified = item.Modified;
   da.ModifiedBy = item.ModifiedBy;
   da.PersonREF = item.PersonREF;
   da.StatusID = item.StatusID;
   bool ok = da.Insert();
   if (ok) AddChangeLog(da.TableName, da.Id, da.Timestamp, revisionInfo); //add
   if (ok) item = new DdRequestStatusExt(da.GetBuffer());
   return ok;
 }
예제 #2
0
 static public void UpdateRequestStatus(BindingSource binding, int changeRequestREF, RevisionInfo revInfo)
 {
   BindingList<DdRequestStatusExt> list = (BindingList<DdRequestStatusExt>)binding.DataSource;
   try
   {
     using (TransactionScope scope = new TransactionScope())
     {
     DaRequestStatus da = new DaRequestStatus(DataStore.CloneDbConnection());
     foreach (DdRequestStatusExt item in list)
     {// do deletes first
       bool existing = da.GetById(item.Id);
       if (existing && item.DeleteFlag)
       {// delete here - avoid validation
         da.DeleteById(item.Id);
         AddChangeLog(da.TableName, item.Id, da.Timestamp, revInfo);  
       }
     }
     
     foreach (DdRequestStatusExt item in list)
     {
       if (item.DeleteFlag) continue; // already done above
       //if (item.RequestStatusID == string.Empty) continue; // already done above
       bool existing = da.GetById(item.Id);
       if (!existing)
       {
         da.Clear();
       }
       da.ChangeRequestREF = item.ChangeRequestREF;
       da.Comment = item.Comment;
       da.EffectiveDate = item.EffectiveDate;
       da.Hours = item.Hours;
       da.PersonREF = item.PersonREF;
       da.StatusID = item.StatusID;
       if (!existing)
       {
         da.ChangeRequestREF = changeRequestREF;
         da.Insert();
         AddChangeLog(da.TableName, da.Id, da.Timestamp, revInfo); 
       }
       else
       {
         if (!da._IsModified) continue;
         da.Modified = DateTime.Now;
         da.ModifiedBy = Environment.UserName;
         da.Save();
         AddChangeLog(da.TableName, da.Id, da.Timestamp, revInfo);           }
     }
       scope.Complete();
     }
     binding.DataSource = GetRequestStatusList(changeRequestREF);
   }
   catch (AppEx)
   {
     throw;
   }
   catch (Exception exc)
   {
     throw new AppEx(exc, "Error updating RequestStatus");
   }
 }