Exemple #1
0
     public ResultMsg <List <PritModel> > Save()
     {
         if (admissionTicketId <= 0)
         {
             return new ResultMsg <List <PritModel> >()
                    {
                        Code = -1, CodeText = "请选择需要购买的门票"
                    }
         }
         ;
         if (payType <= 0)
         {
             return new ResultMsg <List <PritModel> >()
                    {
                        Code = -1, CodeText = "请选择支付方式"
                    }
         }
         ;
         if (num <= 0)
         {
             return new ResultMsg <List <PritModel> >()
                    {
                        Code = -1, CodeText = "购买数量必须大于0"
                    }
         }
         ;
         if (discount <= 0 || discount > 1)
         {
             return(new ResultMsg <List <PritModel> >()
             {
                 Code = -1, CodeText = "折扣必须大于0小于等于1"
             });
         }
         try
         {
             var user = SecurityHelper.GetCurrentUser().CurrentUser;
             if (user is ShopUser)
             {
                 var shopUser        = user as ShopUser;
                 var admissionTicket = admissionTicketService.GetById(admissionTicketId);
                 if (admissionTicket == null || admissionTicket.state != AdmissionTicketState.Normal)
                 {
                     return new ResultMsg <List <PritModel> >()
                            {
                                Code = -1, CodeText = "门票已停售或不存在,请重新选择"
                            }
                 }
                 ;
                 decimal price    = DateHelper.m_IsWorkingDay() == true ? admissionTicket.amount : admissionTicket.weekendAmount;
                 decimal amount   = price * num;
                 string  SerialNo = SerialNoHelper.Create();
                 transactionHelper.BeginTransaction();
                 WindowTicketing windowTicketing = new WindowTicketing();
                 windowTicketing.admissionTicketId = admissionTicketId;
                 windowTicketing.amount            = amount * discount;
                 windowTicketing.discount          = discount;
                 windowTicketing.babyBirthDate     = babyBirthDate;
                 windowTicketing.babyName          = babyName;
                 windowTicketing.babySex           = babySex;
                 windowTicketing.code        = SerialNo;
                 windowTicketing.createTime  = DateTime.Now;
                 windowTicketing.displayName = displayName;
                 windowTicketing.mobile      = mobile;
                 windowTicketing.num         = num;
                 windowTicketing.payType     = payType;
                 windowTicketing.price       = price;
                 windowTicketing.shopId      = shopUser.ShopId;
                 windowTicketing.ticketName  = admissionTicket.name;
                 windowTicketingService.Insert(windowTicketing);
                 List <PritModel> dataPrint = new List <PritModel>();
                 for (int i = 0; i < num; i++)
                 {
                     var handRingPrint = new HandRingPrint();
                     handRingPrint.babyBirthDate = babyBirthDate.HasValue ? babyBirthDate.Value.ToString("yyyy-MM-dd hh:mm;ss") : "";
                     handRingPrint.babyName      = babyName;
                     handRingPrint.babySex       = babySex == 1 ? "男" : babySex == 2 ? "女" : "";
                     handRingPrint.userName      = displayName;
                     handRingPrint.mobile        = mobile;
                     handRingPrint.adultNum      = admissionTicket.adultNum;
                     handRingPrint.childNum      = admissionTicket.childNum;
                     handRingPrint.code          = windowTicketing.code;
                     handRingPrint.createTime    = DateTime.Now;
                     handRingPrint.state         = 1;
                     handRingPrint.ticketType    = 3;
                     handRingPrint.shopId        = shopUser.ShopId;
                     handRingPrintService.Insert(handRingPrint);
                     for (int j = 0; j < admissionTicket.adultNum + admissionTicket.childNum; j++)
                     {
                         PritModel model = new PritModel();
                         model.effectiveTime = DateTime.Now.AddHours(3).ToString("MM月dd日hh时mm分");
                         model.einlass       = DateTime.Now.ToString("MM月dd日hh时mm分");
                         model.mobile        = mobile;
                         model.name          = displayName;
                         model.people        = admissionTicket.adultNum + admissionTicket.childNum;
                         dataPrint.Add(model);
                     }
                 }
                 transactionHelper.Commit();
                 return(new ResultMsg <List <PritModel> >()
                 {
                     Code = 0, CodeText = "售票成功", data = dataPrint
                 });
             }
             else
             {
                 return new ResultMsg <List <PritModel> >()
                        {
                            Code = -1, CodeText = "你不是商户,不可售票"
                        }
             };
         }
         catch (Exception ex)
         {
             return(new ResultMsg <List <PritModel> >()
             {
                 Code = -1, CodeText = "售票失败,ex:" + ex.Message
             });
         }
     }
 }
 public void Insert(WindowTicketing item)
 {
     _databaseInstance.Insert(item, TableName);
 }