示例#1
0
        public IEnumerable <Entities.OrderDetail> GetList(short status, DateTime fromCreatedDate, DateTime toCreatedDate)
        {
            string storeName = "admin_orderdetail_getlist_statistic";
            var    lisOrders = new List <Entities.OrderDetail>();

            try
            {
                using (var db = new PostgresSQL(ConnectionEntity.DBPosition.Master))
                {
                    using (var command = db.CreateCommand(storeName, true))
                    {
                        command.Parameters.Add(NpgsqlParameter("@_status", status));
                        command.Parameters.Add(NpgsqlParameter("@_fromcreateddate", fromCreatedDate));
                        command.Parameters.Add(NpgsqlParameter("@_tocreateddate", toCreatedDate));
                        using (var reader = command.ExecuteReader())
                        {
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    var obj = new Entities.OrderDetail();
                                    EntityBase.SetObjectValue(reader, ref obj);
                                    lisOrders.Add(obj);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("{0} => {1}", storeName, ex.ToString()));
            }
            return(lisOrders);
        }
示例#2
0
        public IEnumerable <Entities.OrderDetail> GetByOrderId(int id)
        {
            string storeName      = "admin_orderdetail_getbyorderid";
            var    lisOrderDetail = new List <Entities.OrderDetail>();

            try
            {
                using (var db = new PostgresSQL(ConnectionEntity.DBPosition.Master))
                {
                    using (var command = db.CreateCommand(storeName, true))
                    {
                        command.Parameters.Add(NpgsqlParameter("@_id", id));

                        using (var reader = command.ExecuteReader())
                        {
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    var obj = new Entities.OrderDetail();
                                    EntityBase.SetObjectValue(reader, ref obj);
                                    lisOrderDetail.Add(obj);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("{0} => {1}", storeName, ex.ToString()));
            }
            return(lisOrderDetail);
        }
 public OrderDetailViewModel(Entities.OrderDetail orderDetail)
 {
     if (orderDetail != null)
     {
         OrderDetailId  = orderDetail.order_detail_id;
         ProductId      = orderDetail.product_id;
         ProductName    = orderDetail.product_name;
         Quantity       = orderDetail.quantity;
         OriginPrice    = orderDetail.origin_price;
         Price          = orderDetail.price;
         Note           = orderDetail.note;
         OriginPriceStr = StringUtils.ConvertNumberToCurrency(OriginPrice);
         PriceStr       = StringUtils.ConvertNumberToCurrency(Price);
         TotalMoney     = Quantity * Price;
         TotalMoneyStr  = StringUtils.ConvertNumberToCurrency(TotalMoney);
         Status         = orderDetail.status;
         OrderId        = orderDetail.order_id;
         Code           = orderDetail.code;
     }
 }
示例#4
0
        public ActionResult EditOrderDetail(Entities.OrderDetail model, string returnUrl = null)
        {
            ModelState.Remove("Id");
            ViewBag.ReturnUrl = Url.IsLocalUrl(returnUrl) ? returnUrl : Url.RouteUrl("OrderDetailIndex");
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.Id == Guid.Empty)
            {
                model.Id = Guid.NewGuid();
                _orderDetailService.InsertOrdertail(model);
            }
            else
            {
                _orderDetailService.UpdateOrderdetail(model);
            }


            return(Redirect(ViewBag.ReturnUrl));
        }
示例#5
0
        public (bool state, string message, Entities.LibrarySeat seat, Entities.OrderDetail order) Schedule(int seatnumber, Guid userId)
        {
            var seat = GetBySeatNum(seatnumber);
            var user = _userRepository.getById(userId);

            if (user.ScheduledLock)
            {
                if (user.AllowScheduleTime < DateTime.Now)
                {
                    user.ScheduledLock     = false;
                    user.ViolationNum      = 0;
                    user.AllowScheduleTime = null;
                    _userRepository.update(user);
                }
                else
                {
                    return(false, $"你违规次数过多,已禁止你进行预定,解锁时间:{user.AllowScheduleTime}", null, null);
                }
            }

            if (seat == null)
            {
                return(false, "座位不存在", null, null);
            }

            if (seat.SeatState == SeatStates.Booked)
            {
                return(false, "座位已被预定", null, null);
            }
            else if (seat.SeatState == SeatStates.InAvailable)
            {
                return(false, "座位上已经有人了", null, null);
            }

            lock (LibrarySeatData.locker)
            {
                var order = new Entities.OrderDetail();
                order.Id               = Guid.NewGuid();
                order.LibrarySeatId    = seat.Id;
                order.HasCheckIn       = false;
                order.CreateTime       = DateTime.Now;
                order.VerificationCode = "558879";
                order.EndTime          = DateTime.Now.AddHours(LibrarySeatData.OrderEndTime);
                order.HasEnd           = false;

                seat.OrderDetails.Add(order);
                user.OrderDetails.Add(order);

                if (seat.SeatState == SeatStates.Available)
                {
                    seat.SeatState = SeatStates.Booked;
                }
                else
                {
                    return(false, "位置信息以改变", null, null);
                }


                try
                {
                    _librarySeatRepository.DbContext.SaveChanges();
                }
                catch (Exception)
                {
                    return(false, "发生错误请重试!", null, null);
                }

                return(true, "预定成功", seat, order);
            }
        }