Esempio n. 1
0
        public IHttpActionResult GetPaging(BaseCondition <HotelPaging> condition)
        {
            string tokenCode = HttpContext.Current.Request.Headers["TokenCode"] != null ? HttpContext.Current.Request.Headers["TokenCode"].ToString() : "";

            Models.UserResult UserInfo = null;

            if (!string.IsNullOrEmpty(tokenCode))
            {
                UserInfo = CacheUtil.GetCacheObject(tokenCode);
            }
            int UserId = (UserInfo != null && UserInfo.Id > 0) ? UserInfo.Id : 0;

            List <FilterItems> FilterRules = condition.FilterRules;
            List <SortItems>   SortRules   = condition.SortRules;

            if (SortRules != null && SortRules.Count > 0)
            {
                foreach (var item in SortRules.Select((value, i) => new { i, value }))
                {
                    SortItems e     = item.value;
                    int       Index = item.i;
                    if (e.field.ToLower() == "minprice")
                    {
                        condition.SortRules[Index].field = "CAST(MinPrice as Int)";
                        continue;
                    }
                }
            }


            var req = hotelDAL.GetPaging(condition, UserId);

            if (req.Succeeded)
            {
                return(Ok(req));
            }
            else
            {
                return(Content(HttpStatusCode.BadRequest, req));
            }
        }
Esempio n. 2
0
        public IHttpActionResult Insert(PostOrder Item)
        {
            string tokenCode = HttpContext.Current.Request.Headers["TokenCode"] != null ? HttpContext.Current.Request.Headers["TokenCode"].ToString() : "";

            Models.UserResult UserInfo = null;

            if (!string.IsNullOrEmpty(tokenCode))
            {
                UserInfo = CacheUtil.GetCacheObject(tokenCode);
            }
            int UserId = (UserInfo != null && UserInfo.Id > 0) ? UserInfo.Id : 0;

            ApiResult <NewOrderResult> rs = new ApiResult <NewOrderResult>()
            {
                Data = new NewOrderResult()
            };

            if (Item == null || Item.Order == null)
            {
                rs.Failed(new ErrorObject
                {
                    Code        = "EXCEPTION",
                    Description = "Đéo nhận Data truyền vào."
                });
                return(Content(HttpStatusCode.BadRequest, rs));
            }

            if (!ModelState.IsValid)
            {
                // Lỗi validate dữ liệu trả ra từ model
                foreach (string key in ModelState.Keys)
                {
                    ModelState current = ModelState[key];
                    foreach (ModelError error in current.Errors)
                    {
                        rs.Failed(new ErrorObject()
                        {
                            Code        = key,
                            Description = error.ErrorMessage
                        });
                    }
                }

                return(Content(HttpStatusCode.BadRequest, rs));
            }

            Item.Order.TokenCode = RandomString(15);
            rs = orderDAL.Insert(Item.Order, UserId);

            if (!rs.Succeeded)
            {
                return(Content(HttpStatusCode.BadRequest, rs));
            }

            string Link = ConfigUtil.DomainBaseHttp + "/API/Order/Confirm?Id="
                          + rs.Data.Id.ToString()
                          + "&TokenCode=" + Item.Order.TokenCode
                          + "&SucUrl=" + Item.SucUrl
                          + "&FailUrl=" + Item.FailUrl;

            object EmailData = new
            {
                Link,
                Item.Order.GuestName,
                SetTime = DateTime.Now.ToString(),
                Item.Order.RoomName
            };

            string EmailContent = EmailContentHtml.EmailContentFormat(EmailData, "ConfirmOrder.html");
            bool   e            = EmailUtility.SendMail(ConfigUtil.Email_DisplayName, Item.Order.GuestEmail, "Xác thực Đơn đặt phòng", messages: EmailContent);

            return(Ok(rs));
        }