Example #1
0
        public HttpResponseMessage UpdateOrderDetails(OrderDetailsViewModel objOrderDetailsViewModel)
        {
            try
            {
                OrderDetails objOrderDetails = new OrderDetails();
                int          orderId         = Convert.ToInt32(objOrderDetailsViewModel.Order_Id);
                //get Order from OrderDetails table
                var orderDetails = (from order in dbContext.OrderDetails where order.Order_Id == orderId select order).FirstOrDefault();
                if (orderDetails != null && orderDetails.Payment_Mode == "Pay Online" && objOrderDetailsViewModel.Rzp_Payment_Status == "Paid")
                {
                    orderDetails.Rzp_Order_Id       = objOrderDetailsViewModel.Rzp_Order_Id;
                    orderDetails.Rzp_Payment_Id     = objOrderDetailsViewModel.Rzp_Payment_Id;
                    orderDetails.Rzp_Signature      = objOrderDetailsViewModel.Rzp_Signature;
                    orderDetails.Rzp_Payment_Status = objOrderDetailsViewModel.Rzp_Payment_Status;


                    var i = dbContext.SaveChanges();
                    if (i != 0)
                    {
                        TransactionResponse objTransactionResponse = new TransactionResponse();
                        objTransactionResponse.Order_Id            = objOrderDetailsViewModel.Order_Id;
                        objTransactionResponse.Rzp_Order_Id        = objOrderDetailsViewModel.Rzp_Order_Id;
                        objTransactionResponse.Rzp_Payment_Id      = objOrderDetailsViewModel.Rzp_Payment_Id;
                        objTransactionResponse.Rzp_Signature       = objOrderDetailsViewModel.Rzp_Signature;
                        objTransactionResponse.Rzp_Payment_Status  = objOrderDetailsViewModel.Rzp_Payment_Status;
                        objTransactionResponse.Rzp_payment_message = "Order placed successfully";
                        objTransactionResponse.Totalprice          = objOrderDetailsViewModel.Totalprice;

                        return(Request.CreateResponse(HttpStatusCode.OK, objTransactionResponse));
                    }
                    else
                    {
                        objResponse.Message = "Transaction Failed.";

                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }

                else if (objOrderDetailsViewModel.Rzp_Payment_Status == "Fail")
                {
                    orderDetails.Rzp_Payment_Status = objOrderDetailsViewModel.Rzp_Payment_Status;
                    var i = dbContext.SaveChanges();
                    if (i != 0)
                    {
                        TransactionResponse objTransactionResponse = new TransactionResponse();
                        objTransactionResponse.Order_Id            = objOrderDetailsViewModel.Order_Id;
                        objTransactionResponse.Rzp_Order_Id        = objOrderDetailsViewModel.Rzp_Order_Id;
                        objTransactionResponse.Rzp_Payment_Id      = objOrderDetailsViewModel.Rzp_Payment_Id;
                        objTransactionResponse.Rzp_Signature       = objOrderDetailsViewModel.Rzp_Signature;
                        objTransactionResponse.Rzp_Payment_Status  = objOrderDetailsViewModel.Rzp_Payment_Status;
                        objTransactionResponse.Rzp_payment_message = objOrderDetailsViewModel.Rzp_payment_message;
                        objTransactionResponse.Totalprice          = objOrderDetailsViewModel.Totalprice;

                        return(Request.CreateResponse(HttpStatusCode.OK, objTransactionResponse));
                    }
                    else
                    {
                        objResponse.Message = "Error occured While Saving Transaction Status.";

                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }
                else
                {
                    objResponse.Message = "No Order Details Found.";

                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
            }
            catch (Exception ex)
            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);

                OrderErrorLogDetails objOrderErrorLogDetails = new OrderErrorLogDetails();
                objOrderErrorLogDetails.Retailer_Id     = objOrderDetailsViewModel.Retailer_Id;
                objOrderErrorLogDetails.Retailer_Mobile = objOrderDetailsViewModel.Retailer_Mobile;
                objOrderErrorLogDetails.PaymentMode     = objOrderDetailsViewModel.Payment_Mode;
                objOrderErrorLogDetails.Total_Price     = objOrderDetailsViewModel.Totalprice;
                objOrderErrorLogDetails.Qty             = objOrderDetailsViewModel.Qty;
                //objOrderErrorLogDetails.Csv_File =;
                objOrderErrorLogDetails.Error_Msg = ex.Message;
                objOrderErrorLogDetails.Tr_Date   = DateTime.Now;

                dbContext.OrderErrorLogDetails.Add(objOrderErrorLogDetails);
                var i = dbContext.SaveChanges();

                if (i != 0)
                {
                    objResponse.Message = "Exception Logged Successfully";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
                else
                {
                    objResponse.Message = "Failed";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
            }
        }
Example #2
0
        public string AddOrderProductDetail(OrderDetailsViewModel objOrderDetailsViewModel)
        {
            var i = 0;

            try
            {
                //get mobileNumber from user table
                string mobileNumber = objOrderDetailsViewModel.Retailer_Mobile;
                var    number       = (from user in dbContext.UserInfo where user.MobileNumber == mobileNumber select user).FirstOrDefault();
                if (number != null)
                {
                    OrderProductDetails objOrderProductDetails = new OrderProductDetails();
                    var getcsvfile = objOrderDetailsViewModel.csvfile.Table1;

                    foreach (var j in getcsvfile)
                    {
                        objOrderProductDetails.order_id     = Convert.ToInt32(objOrderDetailsViewModel.Order_Id);
                        objOrderProductDetails.product_id   = j.product_Id;
                        objOrderProductDetails.qty          = j.OrderQuantity;
                        objOrderProductDetails.price        = j.price;
                        objOrderProductDetails.tr_date      = DateTime.Now;
                        objOrderProductDetails.SAP_order_ID = objOrderDetailsViewModel.SAP_Order_ID;
                        dbContext.OrderProductDetails.Add(objOrderProductDetails);
                        i = dbContext.SaveChanges();
                    }

                    //objOrderProductDetails.product_id = "115001003CBE17";
                    //objOrderProductDetails.qty = "60";
                    //objOrderProductDetails.price = "410";



                    if (i != 0)
                    {
                        objResponse.Message = objOrderDetailsViewModel.Totalprice;
                        return(objResponse.Message);
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        return(objResponse.Message);
                    }
                }
                else
                {
                    objResponse.Message = "Mobile number not exists.";

                    return(objResponse.Message);
                }
            }
            catch (Exception ex)
            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);

                OrderErrorLogDetails objOrderErrorLogDetails = new OrderErrorLogDetails();
                objOrderErrorLogDetails.Retailer_Id     = objOrderDetailsViewModel.Retailer_Id;
                objOrderErrorLogDetails.Retailer_Mobile = objOrderDetailsViewModel.Retailer_Mobile;
                objOrderErrorLogDetails.PaymentMode     = objOrderDetailsViewModel.Payment_Mode;
                objOrderErrorLogDetails.Total_Price     = objOrderDetailsViewModel.Totalprice;
                objOrderErrorLogDetails.Qty             = objOrderDetailsViewModel.Qty;
                objOrderErrorLogDetails.Csv_File        = JsonConvert.SerializeObject(objOrderDetailsViewModel.csvfile.Table1);
                objOrderErrorLogDetails.Error_Msg       = ex.Message;
                objOrderErrorLogDetails.Tr_Date         = DateTime.Now;

                dbContext.OrderErrorLogDetails.Add(objOrderErrorLogDetails);
                i = dbContext.SaveChanges();

                if (i != 0)
                {
                    objResponse.Message = "Exception Logged Successfully";
                    return(objResponse.Message);
                }
                else
                {
                    objResponse.Message = "Failed to Log Exception";
                    return(objResponse.Message);
                }

                //    objCommonClasses.InsertExceptionDetails(ex, "UserController", "AddOrderProductDetail");
                //    return ex.Message;
            }
        }
Example #3
0
        public HttpResponseMessage AddOrderDetails(OrderBookingViewModel objOrderBookingViewModel)
        {
            try
            {
                Mandi_OrderDetails  objMandi_OrderDetails  = new Mandi_OrderDetails();
                MandiUserController objMandiUserController = new MandiUserController();
                string mobileNumber = objOrderBookingViewModel.Buyer_Mobile;
                //get mobileNumber from user table
                var number = (from user in dbContext.Mandi_UserInfo where user.MobileNumber == mobileNumber select user).FirstOrDefault();
                if (number != null && objOrderBookingViewModel.Payment_Mode == "Delivery Against Payment(DAP)")
                {
                    objMandi_OrderDetails.Buyer_Mobile        = objOrderBookingViewModel.Buyer_Mobile;
                    objMandi_OrderDetails.TotalPrice          = objOrderBookingViewModel.Totalprice;
                    objMandi_OrderDetails.Payment_Mode        = objOrderBookingViewModel.Payment_Mode;
                    objMandi_OrderDetails.OrderDate           = DateTime.Now;
                    objMandi_OrderDetails.Shipping_Address_Id = objOrderBookingViewModel.Shipping_Address_Id;
                    objMandi_OrderDetails.Order_Status        = objOrderBookingViewModel.Order_Status;
                    objMandi_OrderDetails.GeoAddress          = objOrderBookingViewModel.GeoCoordinates;
                    objMandi_OrderDetails.SelectedTotalQty    = objOrderBookingViewModel.SelectedTotalQty;
                    objMandi_OrderDetails.TransactionStatus   = objOrderBookingViewModel.TransactionStatus;
                    objMandi_OrderDetails.Buyer_Name          = objOrderBookingViewModel.Buyer_Name;
                    objMandi_OrderDetails.ServiceTax          = objOrderBookingViewModel.ServiceTax;
                    objMandi_OrderDetails.TotalAmount         = objOrderBookingViewModel.TotalAmount;

                    dbContext.Mandi_OrderDetails.Add(objMandi_OrderDetails);
                    var i       = dbContext.SaveChanges();
                    int OrderId = objMandi_OrderDetails.Order_Id; // Get OrderId After Save Changes
                    if (i != 0)
                    {
                        objOrderBookingViewModel.Order_Id = OrderId;
                        AddOrderProductDetail(objOrderBookingViewModel);
                        //objMandiUserController.SendFCMNotificationToUsers(number.DeviceToken, "Congratulations…! Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been received successfully against Order Id " + objOrderBookingViewModel .Order_Id, "Test");
                        //AddNotification(objOrderBookingViewModel, "Congratulations…! Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been received successfully against Order Id " + objOrderBookingViewModel.Order_Id);
                        #region new notification functionality

                        var getcsvfile = objOrderBookingViewModel.csvfile.Table1;

                        //ntofication and email
                        foreach (var j in getcsvfile)
                        {
                            objMandiUserController.SendFCMNotificationToUsers(number.DeviceToken, "Dear Customer, Your deal of  " + j.CropName + "with" + OrderId + " has been booked. Product ID is" + j.Product_Id + " and you have to pick up the produce soon from the pickup address" + j.PickupAddress + ". In case of help, please call on 9607911377.", "Test");
                            AddNotification(objOrderBookingViewModel, "Dear Customer, Your deal of " + j.CropName + "with" + OrderId + " has been booked.Product ID is " + j.Product_Id + " and you have to pick up the produce soon from the pickup address" + j.PickupAddress + ".In case of help, please call on 9607911377.");

                            var getSellerMobileNumber = (from product in dbContext.Mandi_ProductMaster where product.Tr_Id == j.Product_Id select product.MobileNumber).FirstOrDefault();
                            if (getSellerMobileNumber != null)
                            {
                                var getSellerTokenNumbner = (from mobile in dbContext.Mandi_UserInfo where mobile.MobileNumber == getSellerMobileNumber select mobile.DeviceToken).FirstOrDefault();
                                //send notification to seller now

                                objMandiUserController.SendFCMNotificationToUsers(getSellerTokenNumbner, "Dear Customer, Your Produce" + j.CropName + " with" + j.Product_Id + " has been purchased. Order ID is " + OrderId + " and it will soon be picked up. Please keep the products ready. In case of help, please call on 9607911377>.", "Test");
                                AddNotification(objOrderBookingViewModel, "Dear Customer, Your Produce" + j.CropName + " with" + j.Product_Id + " has been purchased. Order ID is " + OrderId + " and it will soon be picked up. Please keep the products ready. In case of help, please call on 9607911377>.");

                                #region Email to admin
                                //FOR SENDING MAIL TO ADMIN
                                EmailController objEmailController = new EmailController();
                                EmailModel      objEmailModel      = new EmailModel();

                                //objEmailModel.SellerName = objOrderBookingViewModel.SellerName;
                                //objEmailModel.SellerContact = objOrderBookingViewModel.SellerContact;
                                objEmailModel.orderId   = OrderId;
                                objEmailModel.ProductId = j.Product_Id;
                                objEmailModel.CropName  = j.CropName;
                                objEmailModel.Qty       = j.TotalQuantity;
                                // objEmailModel.SellerName = (from mobile in dbContext.Mandi_UserInfo where mobile.MobileNumber == getSellerMobileNumber select mobile.DeviceToken).ToString().FirstOrDefault()); ;
                                objEmailModel.BuyerrName   = j.BuyerrName;
                                objEmailModel.BuyerContact = j.BuyerContact;
                                objEmailModel.Price        = j.Price;
                                objEmailModel.ServiceTax   = j.ServiceTax;
                                objEmailModel.TotalAmount  = j.TotalAmount;

                                objEmailModel.PaymentStatus = j.PaymentStatus;



                                objEmailController.sendEmailViaWebApi(objEmailModel);

                                #endregion
                            }
                        }



                        #endregion
                        objOrderResponse.DAP = objOrderBookingViewModel.TotalAmount;
                        return(Request.CreateResponse(HttpStatusCode.OK, objOrderResponse));
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        objMandiUserController.SendFCMNotificationToUsers(number.DeviceToken, "Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been Failed against Order Id " + objOrderBookingViewModel.Order_Id, "Test");
                        AddNotification(objOrderBookingViewModel, "Congratulations…! Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been received successfully against Order Id " + objOrderBookingViewModel.Order_Id);
                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }

                else if (number != null && objOrderBookingViewModel.Payment_Mode == "UPI")
                {
                    objMandi_OrderDetails.Buyer_Mobile        = objOrderBookingViewModel.Buyer_Mobile;
                    objMandi_OrderDetails.TotalPrice          = objOrderBookingViewModel.Totalprice;
                    objMandi_OrderDetails.Payment_Mode        = objOrderBookingViewModel.Payment_Mode;
                    objMandi_OrderDetails.OrderDate           = DateTime.Now;
                    objMandi_OrderDetails.Shipping_Address_Id = objOrderBookingViewModel.Shipping_Address_Id;
                    objMandi_OrderDetails.Order_Status        = objOrderBookingViewModel.Order_Status;
                    objMandi_OrderDetails.GeoAddress          = objOrderBookingViewModel.GeoCoordinates;
                    objMandi_OrderDetails.SelectedTotalQty    = objOrderBookingViewModel.SelectedTotalQty;
                    objMandi_OrderDetails.Buyer_Name          = objOrderBookingViewModel.Buyer_Name;



                    dbContext.Mandi_OrderDetails.Add(objMandi_OrderDetails);
                    var i       = dbContext.SaveChanges();
                    int OrderId = objMandi_OrderDetails.Order_Id; // Get OrderId After Save Changes
                    if (i != 0)
                    {
                        objOrderBookingViewModel.Order_Id = OrderId;
                        AddOrderProductDetail(objOrderBookingViewModel);


                        objMandiUserController.SendFCMNotificationToUsers(number.DeviceToken, "Congratulations…! Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been received successfully against Order Id " + objOrderBookingViewModel.Order_Id, "Test");
                        AddNotification(objOrderBookingViewModel, "Congratulations…! Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been received successfully against Order Id " + objOrderBookingViewModel.Order_Id);
                        objResponse.Message  = "Success";
                        objOrderResponse.DAP = "";
                        objOrderResponse.UPI = objOrderBookingViewModel.Order_Id;
                        return(Request.CreateResponse(HttpStatusCode.OK, objOrderResponse));
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        objMandiUserController.SendFCMNotificationToUsers(number.DeviceToken, "Your order for amount ₹" + objOrderBookingViewModel.Totalprice + " has been Failed against Order Id " + objOrderBookingViewModel.Order_Id, "Test");
                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }
                else
                {
                    objResponse.Message = "Mobile number not exists.";

                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
            }  catch (Exception ex)

            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);

                OrderErrorLogDetails objOrderErrorLogDetails = new OrderErrorLogDetails();
                objOrderErrorLogDetails.Retailer_Mobile = objOrderBookingViewModel.Buyer_Mobile;
                objOrderErrorLogDetails.PaymentMode     = objOrderBookingViewModel.Payment_Mode;
                objOrderErrorLogDetails.Total_Price     = objOrderBookingViewModel.Totalprice;
                objOrderErrorLogDetails.Qty             = objOrderBookingViewModel.Qty;
                //objOrderErrorLogDetails.Csv_File =;
                objOrderErrorLogDetails.Error_Msg = ex.Message;
                objOrderErrorLogDetails.Tr_Date   = DateTime.Now;

                dbContext.OrderErrorLogDetails.Add(objOrderErrorLogDetails);
                var i = dbContext.SaveChanges();

                if (i != 0)
                {
                    objResponse.Message = "Exception Logged Successfully";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
                else
                {
                    objResponse.Message = "Failed";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }

                //objCommonClasses.InsertExceptionDetails(ex, "UserController", "SubmitFeedback");
                //return Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, ex.Message);
            }
        }
Example #4
0
        public HttpResponseMessage AddOrderDetails(OrderDetailsViewModel objOrderDetailsViewModel)
        {
            try
            {
                OrderDetails objOrderDetails = new OrderDetails();
                string       mobileNumber    = objOrderDetailsViewModel.Retailer_Mobile;
                //get mobileNumber from user table
                var number = (from user in dbContext.UserInfo where user.MobileNumber == mobileNumber select user).FirstOrDefault();
                if (number != null)
                {
                    //objOrderDetails.Order_Id = objOrderDetailsViewModel.Order_Id;
                    objOrderDetails.Retailer_Id     = objOrderDetailsViewModel.Retailer_Id;
                    objOrderDetails.Retailer_Mobile = objOrderDetailsViewModel.Retailer_Mobile;
                    objOrderDetails.Totalprice      = objOrderDetailsViewModel.Totalprice;
                    objOrderDetails.Payment_Mode    = objOrderDetailsViewModel.Payment_Mode;
                    objOrderDetails.OrderDate       = DateTime.Now;
                    //objOrderDetails.OrderDate = !string.IsNullOrEmpty(objOrderDetailsViewModel.OrderDate) ? Convert.ToDateTime(objOrderDetailsViewModel.OrderDate) : (DateTime?)null;
                    objOrderDetails.Shipping_Address_Id = objOrderDetailsViewModel.Shipping_Address_Id;
                    objOrderDetails.Order_Status        = objOrderDetailsViewModel.Order_Status;
                    objOrderDetails.SAP_Order_ID        = "12345";
                    objOrderDetails.GeoCoordinates      = objOrderDetailsViewModel.GeoCoordinates;
                    objOrderDetails.Rzp_Order_Id        = objOrderDetailsViewModel.Rzp_Order_Id;
                    objOrderDetails.Rzp_Payment_Id      = objOrderDetailsViewModel.Rzp_Payment_Id;
                    objOrderDetails.Rzp_Signature       = objOrderDetailsViewModel.Rzp_Signature;
                    objOrderDetails.Rzp_Payment_Status  = "Paid";


                    dbContext.OrderDetails.Add(objOrderDetails);
                    var i       = dbContext.SaveChanges();
                    int OrderId = objOrderDetails.Order_Id; // Get OrderId After Save Changes
                    if (i != 0)
                    {
                        objOrderDetailsViewModel.Order_Id = Convert.ToString(OrderId);
                        AddOrderProductDetail(objOrderDetailsViewModel);
                        string message = "Your Order Is received";
                        objCommonClasses.SendSMS(mobileNumber, message);
                        if (objOrderDetailsViewModel.Payment_Mode == "Pay Online")
                        {
                            Dictionary <string, object> input = new Dictionary <string, object>();
                            input.Add("amount", Convert.ToDouble(objOrderDetailsViewModel.Totalprice) * 100); // this amount should be same as transaction amount
                            input.Add("currency", "INR");
                            input.Add("receipt", objOrderDetailsViewModel.Order_Id);
                            input.Add("payment_capture", 1);

                            string key    = "rzp_live_zdMcQe4K4jLkpq";
                            string secret = "AznDjQ8cnbwgz3YuaHIVru7M";

                            RazorpayClient     client = new RazorpayClient(key, secret);
                            Razorpay.Api.Order order  = client.Order.Create(input);
                            //var razorPayOrderId= JsonConvert.SerializeObject(order.Attributes.id);
                            //var razorPayReceipt = JsonConvert.SerializeObject(order.Attributes.receipt);

                            //object a = razorPayOrderId + razorPayReceipt;
                            return(Request.CreateResponse(HttpStatusCode.OK, order));
                        }

                        else
                        {
                            objResponse.Message = objOrderDetailsViewModel.Totalprice;
                            return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                        }
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                    }
                }
                else
                {
                    objResponse.Message = "Mobile number not exists.";

                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
            }
            catch (Exception ex)
            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);

                OrderErrorLogDetails objOrderErrorLogDetails = new OrderErrorLogDetails();
                objOrderErrorLogDetails.Retailer_Id     = objOrderDetailsViewModel.Retailer_Id;
                objOrderErrorLogDetails.Retailer_Mobile = objOrderDetailsViewModel.Retailer_Mobile;
                objOrderErrorLogDetails.PaymentMode     = objOrderDetailsViewModel.Payment_Mode;
                objOrderErrorLogDetails.Total_Price     = objOrderDetailsViewModel.Totalprice;
                objOrderErrorLogDetails.Qty             = objOrderDetailsViewModel.Qty;
                //objOrderErrorLogDetails.Csv_File =;
                objOrderErrorLogDetails.Error_Msg = ex.Message;
                objOrderErrorLogDetails.Tr_Date   = DateTime.Now;

                dbContext.OrderErrorLogDetails.Add(objOrderErrorLogDetails);
                var i = dbContext.SaveChanges();

                if (i != 0)
                {
                    objResponse.Message = "Exception Logged Successfully";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }
                else
                {
                    objResponse.Message = "Failed";
                    return(Request.CreateResponse(HttpStatusCode.OK, objResponse));
                }

                //objCommonClasses.InsertExceptionDetails(ex, "UserController", "SubmitFeedback");
                //return Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, ex.Message);
            }
        }
Example #5
0
        public string AddOrderProductDetail(OrderBookingViewModel objOrderBookingViewModel)
        {
            var i = 0;

            try
            {
                //get mobileNumber from user table
                string mobileNumber = objOrderBookingViewModel.Buyer_Mobile;
                var    number       = (from user in dbContext.Mandi_UserInfo where user.MobileNumber == mobileNumber select user).FirstOrDefault();
                if (number != null)
                {
                    Mandi_OrderProductDetails objMandi_OrderProductDetails = new Mandi_OrderProductDetails();
                    var getcsvfile = objOrderBookingViewModel.csvfile.Table1;

                    foreach (var j in getcsvfile)
                    {
                        objMandi_OrderProductDetails.Order_Id             = objOrderBookingViewModel.Order_Id;
                        objMandi_OrderProductDetails.Product_Id           = j.Product_Id;
                        objMandi_OrderProductDetails.TotalQuantity        = j.TotalQuantity;
                        objMandi_OrderProductDetails.Price                = j.Price;
                        objMandi_OrderProductDetails.Tr_Date              = DateTime.Now;
                        objMandi_OrderProductDetails.SelectedQuantity     = j.SelectedQuantity;
                        objMandi_OrderProductDetails.SelectedProductPrice = j.SelectedProductPrice;

                        dbContext.Mandi_OrderProductDetails.Add(objMandi_OrderProductDetails);
                        i = dbContext.SaveChanges();
                    }

                    if (i != 0)
                    {
                        if (objOrderBookingViewModel.Payment_Mode == "Delivery Against Payment(DAP)")
                        {
                            objOrderResponse.DAP = objOrderBookingViewModel.TotalAmount;

                            return(objOrderResponse.DAP);
                        }

                        else
                        {
                            objOrderResponse.UPI = objOrderBookingViewModel.Order_Id;
                            return(objOrderResponse.DAP);
                        }
                        //objResponse.Message = objOrderBookingViewModel.Totalprice;
                        //return objResponse.Message;
                    }
                    else
                    {
                        objResponse.Message = "Failed";
                        return(objResponse.Message);
                    }
                }
                else
                {
                    objResponse.Message = "Mobile number not exists.";

                    return(objResponse.Message);
                }
            }
            catch (Exception ex)
            {
                Log.Info(Convert.ToString(ex.InnerException));
                Log.Info(ex.Message);
                OrderErrorLogDetails objOrderErrorLogDetails = new OrderErrorLogDetails();
                objOrderErrorLogDetails.Retailer_Mobile = objOrderBookingViewModel.Buyer_Mobile;
                objOrderErrorLogDetails.PaymentMode     = objOrderBookingViewModel.Payment_Mode;
                objOrderErrorLogDetails.Total_Price     = objOrderBookingViewModel.Totalprice;
                objOrderErrorLogDetails.Qty             = objOrderBookingViewModel.Qty;
                objOrderErrorLogDetails.Csv_File        = JsonConvert.SerializeObject(objOrderBookingViewModel.csvfile.Table1);
                objOrderErrorLogDetails.Error_Msg       = ex.Message;
                objOrderErrorLogDetails.Tr_Date         = DateTime.Now;

                dbContext.OrderErrorLogDetails.Add(objOrderErrorLogDetails);
                i = dbContext.SaveChanges();

                if (i != 0)
                {
                    objResponse.Message = "Exception Logged Successfully";
                    return(objResponse.Message);
                }
                else
                {
                    objResponse.Message = "Failed to Log Exception";
                    return(objResponse.Message);
                }

                //    objCommonClasses.InsertExceptionDetails(ex, "UserController", "AddOrderProductDetail");
                //    return ex.Message;
            }
        }