Ejemplo n.º 1
0
        public string IWantToSupply_UpdateStatus(QueryCommon <IWantToSupplyQuery> query)
        {
            DateTime dtNow = DateTime.Now;
            QueryCommon <IWantToSupplyQuery> query1 = new QueryCommon <IWantToSupplyQuery>()
            {
                ParamInfo = new IWantToSupplyQuery()
            };

            query1.ParamInfo.UpdateDate = dtNow;
            query1.ParamInfo.BidDate    = dtNow;
            int status = query.ParamInfo.Status;

            QueryCommon <IWantToBuyQuery> query2 = new QueryCommon <IWantToBuyQuery>()
            {
                ParamInfo = new IWantToBuyQuery()
            };

            query2.ParamInfo.UpdateDate = dtNow;
            query2.ParamInfo.Id         = query.ParamInfo.IWantToBuyID;

            Result_Msg res = new Result_Msg()
            {
                IsSuccess = true
            };
            Result_List <Result_IWantToSupply> list = GetObjectById_Web_SupplyList(query.ParamInfo.IWantToBuyID);

            try
            {
                if (list.Msg.IsSuccess)
                {
                    Result_Model <IWantToSupply> max = iWantToBuyService.MaxStatusSupply_By_Num(Convert.ToInt64(list.List.FirstOrDefault().PurchaseNum));
                    if (max.Msg.IsSuccess)
                    {
                        switch (max.Model.Status)
                        {
                        case 4:
                            res.Message = "已下单,无法修改中标状态";
                            break;

                        case 5:
                            res.Message = "已支付,无法修改中标状态";
                            break;

                        case 6:
                            res.Message = "已发货,无法修改中标状态";
                            break;

                        case 7:
                            res.Message = "已签收,无法修改中标状态";
                            break;

                        default:
                            break;
                        }
                        res.IsSuccess = false;
                        return(Newtonsoft.Json.JsonConvert.SerializeObject(res));
                    }

                    foreach (var item in list.List)
                    {
                        query1.ParamInfo.Id = item.Id;
                        if (query.ParamInfo.Id == item.Id)
                        {
                            #region 修改当前操作信息

                            switch (status)
                            {
                            case 0:    //设为:竞价成功
                                query1.ParamInfo.Status = 1;
                                iWantToBuyService.UpdateSupply_Status(query1);

                                query2.ParamInfo.Status = 3;
                                iWantToBuyService.UpdateBuy_Status(query2);

                                break;

                            case 1:    //设为:竞价失败
                                query1.ParamInfo.Status = 2;
                                iWantToBuyService.UpdateSupply_Status(query1);

                                query2.ParamInfo.Status = 0;
                                iWantToBuyService.UpdateBuy_Status(query2);
                                break;

                            case 2:    //设为:竞价成功
                                query1.ParamInfo.Status = 1;
                                iWantToBuyService.UpdateSupply_Status(query1);

                                query2.ParamInfo.Status = 3;
                                iWantToBuyService.UpdateBuy_Status(query2);

                                break;

                            case 3:    //——————
                                break;

                            default:
                                break;
                            }
                            #endregion
                        }
                        else
                        {
                            #region 修改其他信息
                            switch (status)
                            {
                            case 0:    //设为:竞价失败
                                if (item.Status != 3)
                                {
                                    query1.ParamInfo.Status = 2;
                                    iWantToBuyService.UpdateSupply_Status(query1);
                                }
                                else
                                {
                                }

                                break;

                            case 1:    //——————

                                break;

                            case 2:    //设为:竞价失败
                                if (item.Status != 3)
                                {
                                    query1.ParamInfo.Status = 2;
                                    iWantToBuyService.UpdateSupply_Status(query1);
                                }
                                else
                                {
                                }
                                break;

                            case 3:    //——————
                                break;

                            default:
                                break;
                            }
                            #endregion
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                res.IsSuccess = false;
                res.Message   = ex.Message;
            }
            return(Newtonsoft.Json.JsonConvert.SerializeObject(res));
        }