private void UpdateMainDataStatus(string id)
 {
     SCMPriceMasterDetail smd = new SCMPriceMasterDetail();
     int mainId = smd.GetMainId(id);
     if (mainId > 0)
     {
         smd.UpdateMainQuoteRecord(mainId, id);
         smd.ChangeRequestStatus(mainId.ToString(), SCMPriceMasterDetail.RequestStatus_Free);
     }
 }
 public ActionResult RequestToVendor(string KeyValues)
 {
     SystemMessages sysMsg = new SystemMessages();
     if (!string.IsNullOrEmpty(KeyValues))
     {
         using (TScope ts = new TScope())
         {
             try
             {
                 string[] ids = KeyValues.Split(',');
                 DateTime date = DateTime.Now;
                 if (ids != null && ids.Length > 0)
                 {
                     SCMPriceMasterDetail smd = new SCMPriceMasterDetail();
                     foreach (string id in ids)
                     {
                         if (!smd.CheckIsFree(id))
                         {
                             throw new Exception("Cannot request a data in process!");
                         }
                         smd.CreateNewRequestToVendor(id, date);
                         smd.ChangeRequestStatus(id, SCMPriceMasterDetail.RequestStatus_InProcess);
                     }
                 }
             }
             catch (Exception ex)
             {
                 ts.Rollback();
                 sysMsg.isPass = false;
                 sysMsg.Messages.Add("Error", ex.Message);
             }
         }
     }
     var result = new
     {
         success = sysMsg.isPass,
         message = (sysMsg.isPass ? "" : sysMsg.Messages.ToString())
     };
     return Json(result);
 }