示例#1
0
        public IActionResult EmailOrderInvoice(GetOrderInvoiceDetailModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var    header      = this.Request.Headers;
                    var    authToken   = header["Authorization"];
                    var    jwt         = authToken[0].Replace("Bearer ", "");
                    var    handler     = new JwtSecurityTokenHandler();
                    var    token       = handler.ReadJwtToken(jwt);
                    var    loginUserId = DBHelper.ParseInt32(token.Payload["UserId"]);
                    string scheme      = this.Request.Scheme;
                    scheme += "://" + this.Request.Host + this.Request.PathBase;

                    var orderInvoiceDetail = iOrderInvoice.GetOrderInvoiceDetail(DBHelper.ParseInt64(model.orderInvoiceId));
                    if (orderInvoiceDetail != null)
                    {
                        PromoCode promoCode = null;
                        if (orderInvoiceDetail[0].OrderInvoice.DiscountAmount > 0)
                        {
                            promoCode = iPromoCode.GetPromocodeDetail(DBHelper.ParseInt64(orderInvoiceDetail[0].OrderInvoice.Order.PromocodeFK));
                        }
                        OrderInvoiceDetailModel orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceDetailModel(orderInvoiceDetail, promoCode);
                        List <long>             productIds             = OrderInvoiceHelper.GetProductIds(orderInvoiceDetailList);
                        List <ProductImage>     productImages          = iProduct.GetProductImagesByProductIds(productIds);
                        orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceDetailImageToModel(orderInvoiceDetailList, scheme, productImages);
                        var adminUserAddressDetails = iOrderInvoice.GetAdminUserAddressDetails(loginUserId);
                        orderInvoiceDetailList.AdminUserDetails = adminUserAddressDetails;
                        if (orderInvoiceDetailList != null)
                        {
                            var    HostingPath         = env.ContentRootPath;
                            string clientEmail         = config.GetValue <string>("app_settings:ClientEmail");
                            string clientEmailPassword = config.GetValue <string>("app_settings:ClientEmailPassword");
                            string port     = config.GetValue <string>("app_settings:Port");
                            string mailHost = config.GetValue <string>("app_settings:SMTPURL");
                            string host     = this.Request.Host.Value;
                            OrderHelper.SendInvoice(orderInvoiceDetailList.Email, orderInvoiceDetailList, DBHelper.ParseString(HostingPath), clientEmail, clientEmailPassword, port, mailHost, host, scheme);
                        }
                        return(Ok(ResponseHelper.Success(orderInvoiceDetailList)));
                    }
                    else
                    {
                        return(Ok(ResponseHelper.Error(MessageConstants.DataNotFound)));
                    }
                }
                else
                {
                    return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData)));
                }
            }
            catch (Exception ex)
            {
                LogHelper.ExceptionLog(ex.Message + "  :::::  " + ex.StackTrace);
                return(Ok(ResponseHelper.Error(ex.Message)));
            }
        }
示例#2
0
        public IActionResult OrderInvoiceDetail(GetOrderInvoiceDetailModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string scheme = this.Request.Scheme;
                    scheme += "://" + this.Request.Host + this.Request.PathBase;

                    var orderInvoiceDetail = iOrderInvoice.GetOrderInvoiceDetail(DBHelper.ParseInt64(model.orderInvoiceId));
                    if (orderInvoiceDetail != null)
                    {
                        PromoCode promoCode = null;
                        if (orderInvoiceDetail[0].OrderInvoice.DiscountAmount > 0)
                        {
                            promoCode = iPromoCode.GetPromocodeDetail(DBHelper.ParseInt64(orderInvoiceDetail[0].OrderInvoice.Order.PromocodeFK));
                        }
                        OrderInvoiceDetailModel orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceDetailModel(orderInvoiceDetail, promoCode);
                        List <long>             productIds             = OrderInvoiceHelper.GetProductIds(orderInvoiceDetailList);
                        List <long>             sizeIds = OrderInvoiceHelper.GetSizeIds(orderInvoiceDetailList);
                        var productCategoryDetails      = iProduct.GetProductCategoryDetail(productIds);
                        var productSizeDetail           = iProduct.GetProductSizeDetails(productIds);
                        var sizeDetail = iSize.GetSizeDetailsBySizeIds(sizeIds);
                        List <ProductImage> productImages = iProduct.GetProductImagesByProductIds(productIds);
                        orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceDetailImageToModel(orderInvoiceDetailList, scheme, productImages);
                        orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceProductCategoryToModel(orderInvoiceDetailList, productCategoryDetails);

                        orderInvoiceDetailList = OrderInvoiceHelper.BindOrderInvoiceProductSizeToModel(orderInvoiceDetailList, productSizeDetail, sizeDetail);
                        return(Ok(ResponseHelper.Success(orderInvoiceDetailList)));
                    }
                    else
                    {
                        return(Ok(ResponseHelper.Error(MessageConstants.DataNotFound)));
                    }
                }
                else
                {
                    return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData)));
                }
            }
            catch (Exception ex)
            {
                LogHelper.ExceptionLog(ex.Message + "  :::::  " + ex.StackTrace);
                return(Ok(ResponseHelper.Error(ex.Message)));
            }
        }
示例#3
0
 public IActionResult TrackOrder(GetOrderInvoiceDetailModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var orderStatus = iOrder.GetInvoiceStatusByInvoiceId(DBHelper.ParseInt64(model.orderInvoiceId));
             if (orderStatus > 0)
             {
                 if (orderStatus != OrderStatusEnum.Cancelled.GetHashCode())
                 {
                     List <SelectListItemModel> orderStatusList = new List <SelectListItemModel>();
                     int limit = DBHelper.ParseInt32(orderStatus);
                     for (int i = 1; i <= limit; i++)
                     {
                         var status = (OrderStatusEnum)i;
                         orderStatusList.Add(new SelectListItemModel
                         {
                             itemName = DBHelper.ParseString(status),
                             id       = DBHelper.ParseString(i)
                         });
                     }
                     return(Ok(ResponseHelper.Success(orderStatusList)));
                 }
                 else
                 {
                     var value = (OrderStatusEnum)orderStatus;
                     return(Ok(ResponseHelper.Success(DBHelper.ParseString(value))));
                 }
             }
             else
             {
                 return(Ok(ResponseHelper.Error(MessageConstants.NoOrderFound)));
             }
         }
         else
         {
             return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData)));
         }
     }
     catch (Exception ex)
     {
         LogHelper.ExceptionLog(ex.Message + "  :::::  " + ex.StackTrace);
         return(Ok(ResponseHelper.Error(ex.Message)));
     }
 }