コード例 #1
0
        /// <summary>
        /// E田农机手取消订单
        /// </summary>
        /// <param name="fmodel"></param>
        /// <param name="id"></param>
        /// <param name="OperatorUserId"></param>
        /// <returns></returns>
        public async Task <int> UpdateDEMAND(T_FARMER_PUBLISHED_DEMAND fmodel, long id, string OperatorUserId)
        {
            using (var dbContext = new DuPont_TestContext())
            {
                using (var dbTransaction = dbContext.Database.BeginTransaction())
                {
                    try
                    {
                        if (fmodel.Id == id)
                        {
                            fmodel.ModifiedTime = DateTime.Now;
                            var dbEntry = dbContext.Entry <T_FARMER_PUBLISHED_DEMAND>(fmodel);
                            dbEntry.State = EntityState.Modified;
                            var  operatoruser   = dbContext.T_USER.SingleOrDefault(x => x.WeatherCity == OperatorUserId);
                            long operatoruserid = 0;
                            if (operatoruser == null)
                            {
                                operatoruserid = dbContext.T_USER.SingleOrDefault(x => x.Id.ToString() == OperatorUserId).Id;
                            }
                            else
                            {
                                operatoruserid = operatoruser.Id;
                            }
                            var responsemodel = dbContext.T_FARMER_DEMAND_RESPONSE_RELATION.SingleOrDefault(x => x.DemandId == id && x.UserId == operatoruserid);
                            dbContext.T_FARMER_DEMAND_RESPONSE_RELATION.Remove(responsemodel);
                        }
                        var r = await dbContext.SaveChangesAsync();//要使用异步保存,必须使用await

                        dbTransaction.Commit();
                        return(r);
                    }
                    catch (Exception ex) {
                        dbTransaction.Rollback();
                        return(0);
                    }
                }
            }
        }