public IActionResult AddOrder(AddNewOrderModel addNewOrderModel) { try { if (ModelState.IsValid) { var uniquePONumber = iOrder.GetAllUniquePoNumber(); var uniqueOrderIds = iOrder.GetAllUniqueInvoiceIds(); long promoCodeId = 0; decimal percentage = 0; decimal discountAmount = 0; if (!string.IsNullOrWhiteSpace(addNewOrderModel.Promocode)) { var promocodeModel = iPromoCode.GetPromoCodeByCode(addNewOrderModel.Promocode); if (promocodeModel != null) { promoCodeId = promocodeModel.PromoCodeId; percentage = promocodeModel.Percentage; discountAmount = promocodeModel.Amount; } } Order orderModel = OrderHelper.BindOrderModel(addNewOrderModel, uniquePONumber, uniqueOrderIds, promoCodeId, percentage, discountAmount); List <OrderDetail> detailModel = OrderHelper.BindOrderDetailModel(addNewOrderModel.ProductDetail); long orderId = 0; if (orderModel.OrderId <= 0) { orderId = iOrder.AddOrder(orderModel, detailModel); } else { orderId = iOrder.EditOrder(orderModel, detailModel); } if (orderId > 0) { var cart = iCart.EmptyCart(DBHelper.ParseInt64(addNewOrderModel.UserId)); var orderDetailModel = iOrder.GetOrderDetail(orderId); if (!string.IsNullOrWhiteSpace(addNewOrderModel.IsMailSend) && addNewOrderModel.IsMailSend.Equals("1")) { if (orderDetailModel != 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; string scheme = this.Request.Scheme; OrderDetailModel orderDetailmodel = OrderHelper.BindOrderDetailModel(orderDetailModel, null); OrderHelper.SendResetPasswordMail(orderDetailmodel.EmailId, orderDetailmodel, DBHelper.ParseString(HostingPath), clientEmail, clientEmailPassword, port, mailHost, host, scheme); } } return(Ok(ResponseHelper.Success(MessageConstants.OrderPlaced + orderDetailModel[0].Order.UniqueOrderId))); } else { return(Ok(ResponseHelper.Error(MessageConstants.OrderNotPlaced))); } } else { return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData))); } } catch (Exception ex) { LogHelper.ExceptionLog(ex.Message + " ::::: " + ex.StackTrace); return(Ok(ResponseHelper.Error(ex.Message))); } }