public BaseResponse CreateOder(HttpRequestMessage request, OrderrequestDetails orderrequestDetails)
        {
            string       status = string.Empty, statusMessage = string.Empty;
            Status       Status    = Status.Success;
            string       OrderCode = "";
            BaseResponse response  = new BaseResponse();

            try
            {
                if (orderrequestDetails != null)
                {
                    OrderCode = new HelperManament().CreateOrder(orderrequestDetails);
                }
                if (OrderCode != "")
                {
                    status        = "Success";
                    statusMessage = "Create order successfully.";
                    Status        = Status.Success;
                }
                else
                {
                    status        = "Failure";
                    statusMessage = "Unable to Create order , Please try again.";
                    Status        = Status.Failure;
                }
            }
            catch (Exception ex)
            {
                status        = "Failure";
                statusMessage = "Oops something went wrong. Please try again.";;
                Status        = Status.Error;
            }
            response.Data          = OrderCode;
            response.status        = status;
            response.statusMessage = statusMessage;
            response.statusCode    = Status;

            return(response);
        }
        //createorder and update
        public string CreateOder(OrderrequestDetails orderrequestDetails)
        {
            string OrderCode = "";

            try
            {
                using (var db = new Entities())
                {
                    using (var dbContextTransaction = db.Database.BeginTransaction())
                    {
                        try
                        {
GerOrderCode:
                            var Ordercode = CreateRando5DigitOrderCode();
                            if (Ordercode != "")
                            {
                                if ((db.tblOrders.Where(i => i.Orderno.Equals(Ordercode, StringComparison.CurrentCultureIgnoreCase))).Any())
                                {
                                    goto GerOrderCode;
                                }
                            }
                            else
                            {
                                goto GerOrderCode;
                            }
                            tblOrder order = new tblOrder();

                            order.Orderno  = OrderCode;
                            order.UserCode = orderrequestDetails.UserCode;
                            db.tblOrders.Add(order);
                            db.SaveChanges();
                            var orderid = order.id;


                            decimal?totalamount = 0m;
                            var     Orders      = orderrequestDetails.ItemCodes.Split(',');
                            int     line        = 0;
                            if (orderid > 0)
                            {
                                foreach (var orderItemCode in Orders)
                                {
                                    OrderItem orderItem = new OrderItem();

                                    var item = db.tblItems.FirstOrDefault(i => i.ItemCode.Equals(orderItemCode, StringComparison.CurrentCultureIgnoreCase));
                                    if (item != null)
                                    {
                                        line++;
                                        orderItem.Line             = line;
                                        orderItem.Orderno          = Ordercode.ToString();
                                        orderItem.ItemCode         = item.ItemCode;
                                        orderItem.TotalPirice      = item.Price;
                                        orderItem.barcode          = item.barcode;
                                        orderItem.StockKeepingUnit = item.StockKeepingUnit;
                                        orderItem.Height           = item.Height;
                                        orderItem.Weight           = item.Weight;
                                        orderItem.Image            = item.Image;

                                        totalamount += item.Price;
                                        db.OrderItems.Add(orderItem);
                                    }
                                }
                                db.SaveChanges();
                                updatePricesInOrder(Ordercode, totalamount);
                                /*Mail sending */
                                Common.Common.SendMailNotification(OrderCode, orderrequestDetails.UserCode);
                            }
                            dbContextTransaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            dbContextTransaction.Rollback();
                            Common.Common.SaveException(ex);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Common.Common.SaveException(ex);
            }
            return(OrderCode);
        }
 public string CreateOrder(OrderrequestDetails orderrequestDetails)
 {
     return(new BusinessLogicDao().CreateOder(orderrequestDetails));
 }