コード例 #1
0
ファイル: GageController.cs プロジェクト: qqqer/AssetSystem
        public bool ArchiveRepairSlip(RepairSlip RepairSlip)
        {
            int    API   = 7;
            string token = HttpContext.Current.Request.Headers.Get("token");

            if (Models.UniversalModels.User.IsValidToken(token))
            {
                User CurrentUser = Models.UniversalModels.User.GetUserByToken(token);

                if (Models.UniversalModels.User.IsContainsCurrentAPIPermission(CurrentUser.UserID, API))
                {
                    Log log = new Log(API, CurrentUser);
                    log.Add(token + "|" + nameof(RepairSlip) + ":" + JsonConvert.SerializeObject(RepairSlip));

                    try
                    {
                        bool s = new GageServiceImpl().ArchiveRepairSlip(RepairSlip);
                        return(s);
                    }
                    catch (Exception ex)
                    {
                        log.Add("Exception:" + ex.Message + "|" + ex.StackTrace);
                        return(false);
                    }
                }
            }
            throw new HttpResponseException(HttpStatusCode.Forbidden);
        }//7
コード例 #2
0
        public virtual bool AddRepairSlip(RepairSlip repairSlip, User CurrentUser)
        {
            using (SqlConnection conn = new SqlConnection(Common.SQLHelper.Asset_strConn))
            {
                conn.Open();
                SqlTransaction sqlTransaction = conn.BeginTransaction();
                try
                {
                    Asset asset = Asset.GetBy(repairSlip.AssetID);
                    if (asset == null)
                    {
                        throw new Exception("资产不存在");
                    }
                    if (!"在库领用".Contains(asset.Status.Substring(asset.Status.Length - 2)))
                    {
                        throw new Exception("资产未处于在库或领用状态");
                    }

                    repairSlip.AssetName      = asset.AssetName;
                    repairSlip.AssetCategory  = asset.AssetCategory;
                    repairSlip.ApplicantName  = Personnel.GetBy(repairSlip.ApplicantID).Name;
                    repairSlip.RepairDate     = DateTime.Now;
                    repairSlip.TransactorName = CurrentUser.Name;


                    asset.Status = asset.AddStatus("维修");
                    asset.CurrentWhereOrganization = repairSlip.Organization;
                    asset.CurrentWhereSpot         = repairSlip.Spot;// + repairSlip.ApplicantName;


                    asset.sqlTransaction = repairSlip.sqlTransaction = sqlTransaction;

                    repairSlip.Add();
                    asset.Update();

                    sqlTransaction.Commit();
                    return(true);
                }
                catch
                {
                    sqlTransaction.Rollback();
                    throw;
                }
            }
        }
コード例 #3
0
        public virtual bool ArchiveRepairSlip(RepairSlip paras)
        {
            using (SqlConnection conn = new SqlConnection(Common.SQLHelper.Asset_strConn))
            {
                conn.Open();
                SqlTransaction sqlTransaction = conn.BeginTransaction();
                try
                {
                    RepairSlip repairSlip = RepairSlip.GetBy(paras.ID);


                    Asset asset = Asset.GetBy(repairSlip.AssetID);
                    if (asset == null)
                    {
                        throw new Exception("资产不存在");
                    }
                    if (!asset.Status.Contains("维修"))
                    {
                        throw new Exception("资产未被维修");
                    }


                    asset.RemoveStatus("维修");
                    asset.RefreshPosition();


                    paras.CopyTo(repairSlip, false);
                    repairSlip.RepairEndDate = DateTime.Now;


                    asset.sqlTransaction = repairSlip.sqlTransaction = sqlTransaction;
                    asset.Update();
                    repairSlip.Update();

                    sqlTransaction.Commit();
                    return(true);
                }
                catch
                {
                    sqlTransaction.Rollback();
                    throw;
                }
            }
        }
コード例 #4
0
 public virtual IEnumerable <RepairSlip> GetRepairSlipsOf(string AssetID)
 {
     return(RepairSlip.GetBy(AssetID));
 }