public IList <Order_DTO> getListOrder(string page)
        {
            DataTable dt      = new DataTable();
            string    cmdText = string.Format(@"Select DH.*,NV.TenNhanVien, KH.TenKhachHang
	                    From dbo.DON_HANG  DH Left Join dbo.Nhan_Vien_ NV
		                    On DH.MaNhanVien = NV.MaNhanVien Inner Join dbo.Khach_Hang  KH
			                    On KH.MaKhachHang = DH.MaKhachHang
		            Order By MaDonHang Desc Offset 10*({0}-1) Rows Fetch Next 10 Rows Only"        , page);

            dt = DataAccessHelper.log(cmdText);
            List <Order_DTO> li = new List <Order_DTO>();

            foreach (DataRow dr in dt.Rows)
            {
                Order_DTO or = new Order_DTO();
                or.MaDonHang   = dr[0].ToString();
                or.MaKhachhang = dr[1].ToString();
                or.MaNhanVien  = dr[2].ToString();
                or.TrangThai   = int.Parse(dr[3].ToString());
                or.TongTien    = int.Parse(dr[4].ToString());
                or.NgayMua     = DateTime.Parse(dr[5].ToString());
                try { or.NgayXacThuc = DateTime.Parse(dr[6].ToString()); }
                catch { }
                or.SoDienThoai  = dr[7].ToString();
                or.DiaChi       = dr[8].ToString();
                or.TenNhanVien  = dr[9].ToString();
                or.TenKhachHang = dr[10].ToString();
                li.Add(or);
            }
            return(li);
        }
Example #2
0
        public IList <Order_DTO> listOrder(string makhachhang)
        {
            DataTable dt      = new DataTable();
            string    cmdtext = string.Format(@"select * from DON_HANG where MaKhachHang = '{0}'", makhachhang);//lấy về 6 sản phẩm ngẫu nhiên để tạo

            dt = DataAccessHelper.log(cmdtext);
            List <Order_DTO> li = new List <Order_DTO>();

            foreach (DataRow dr in dt.Rows)
            {
                Order_DTO sp = new Order_DTO();
                sp.MaDonHang   = dr[0].ToString();
                sp.MaKhachhang = dr[1].ToString();
                sp.MaNhanVien  = dr[2].ToString();
                sp.TrangThai   = int.Parse(dr[3].ToString());
                sp.TongTien    = int.Parse(dr[4].ToString());
                sp.NgayMua     = DateTime.Parse(dr[5].ToString());
                try {
                    sp.NgayXacThuc = DateTime.Parse(dr[6].ToString());
                }
                catch
                {
                }
                sp.SoDienThoai = dr[7].ToString();
                sp.DiaChi      = dr[8].ToString();
                li.Add(sp);
            }
            return(li);
        }
Example #3
0
        public IActionResult Get_Order(int id)
        {
            if (id <= 0)
            {
                return(BadRequest("Id must be greater than zero."));
            }

            var order = customerLogic.GetOrder(id); //TODO Change to Team context;

            if (order == null)
            {
                return(NotFound());
            }

            try
            {
                return(Ok(Order_DTO.MapFromModel(order)));
            }
            catch (Exception ex)
            {
#if DEBUG
                throw;
#endif
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
            }
        }
        public static Orders OrdersDTOtoReg(Order_DTO dto)
        {
            var tempList = new List <Tickets>();
            var tempGuid = Guid.NewGuid();

            foreach (var ticket in dto.Tickets)
            {
                Tickets tick = new Tickets
                {
                    Id       = Guid.NewGuid(),
                    OrderId  = tempGuid,
                    SeatId   = ticket.SeatId,
                    FlightId = ticket.FlightId
                };
                tempList.Add(tick);
            }
            Orders order = new Orders
            {
                Id          = tempGuid,
                Price       = 123.45F,
                DateOfEntry = DateTime.Now,
                UserId      = dto.UserId,
                Tickets     = tempList
            };

            return(order);
        }
Example #5
0
        public IActionResult ChangeOrderStatus(int id, [FromBody] OrderStatusChangeRequest data)
        {
            if (id <= 0)
            {
                return(BadRequest("Id must be greater than zero."));
            }

            if (ModelState.IsValid == false)
            {
                return(BadRequest(ModelState));
            }

            Order order;

            try
            {
                switch (data.Status)
                {
                case OrderStatus.InProgress:
                    order = _shopLogic.SetOrderState_InProgress(id);
                    break;

                case OrderStatus.ReadyToReceive:
                    order = _shopLogic.SetOrderState_ReadyToReceive(id);
                    break;

                case OrderStatus.Finished:
                    order = _shopLogic.SetOrderState_Finished(id);
                    break;

                default:
                    throw new NotImplementedException($"Status {data.Status} is not supporrted");
                }

                return(Ok(Order_DTO.MapFromModel(order)));
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
#if DEBUG
                throw;
#endif
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
            }
        }
Example #6
0
        public async System.Threading.Tasks.Task <IActionResult> GetAllAsync()
        {
            try
            {
                var orders = await customerLogic.GetOrdersAsync();

                AddTeamDataToOrders(orders);

                return(Ok(orders.Select(o => Order_DTO.MapFromModel(o))));
            }
            catch (Exception ex)
            {
#if DEBUG
                throw;
#endif
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
            }
        }
Example #7
0
        public async Task <IActionResult> Reserve([FromBody] Order_DTO model)
        {
            try
            {
                foreach (var ticket in model.Tickets)
                {
                    await _repo2.SetSeatToNotAvailable(ticket.SeatId);
                }
                //var x = TicketsMapper.OrdersDTOtoReg(model);
                //return BadRequest(x);
                //await _repo2.InsertOrderAndTickets(x);
                var x = new Orders()
                {
                    Id          = Guid.NewGuid(),
                    Price       = 123.45F,
                    DateOfEntry = DateTime.Now,
                    UserId      = model.UserId,
                };

                await _repo2.InsertNewOrder(x);

                var y = new List <Tickets>();
                foreach (var t in model.Tickets)
                {
                    Tickets tick = new Tickets
                    {
                        Id       = Guid.NewGuid(),
                        OrderId  = x.Id,
                        SeatId   = t.SeatId,
                        FlightId = t.FlightId
                    };
                    y.Add(tick);
                }
                await _repo2.InsertNewTickets(y);

                return(Ok("Succes!"));
            }
            catch (Exception ex)
            {
                return(BadRequest("Something went wrong! " + ex));
            }
        }
Example #8
0
        public IActionResult Get([FromQuery] int teamId)
        {
            if (teamId <= 0)
            {
                return(BadRequest("Id must be greater than zero."));
            }

            var orders = customerLogic.GetTeamOrders(new Model.Team {
                Id = teamId
            }).Result;                                                                       //TODO Change to Team context;

            if (orders.Any() == false)
            {
                return(NotFound());
            }

            AddTeamDataToOrders(orders);

            return(Ok(orders.Select(order => Order_DTO.MapFromModel(order))));
        }