Beispiel #1
0
        public AddOrderRecieptResponse AddOrderReciept(AddOrderRecieptRequest request)
        {
            AddOrderRecieptResponse addOrderRecieptResponse = new AddOrderRecieptResponse();

            addOrderRecieptResponse.Message = "Reciept order not added successfully.";

            if (String.IsNullOrEmpty(request.AuthToken))
            {
                addOrderRecieptResponse.Message = "Please pass all mandatory fields.";
                return(addOrderRecieptResponse);
            }

            AuthenticationToken authToken = new Helper().GetAuthenticationToken(request.AuthToken);

            if (authToken == null)
            {
                addOrderRecieptResponse.Message = "Unauthorizes user.";
                return(addOrderRecieptResponse);
            }

            if (request.ReceiverStoreID == 0 || request.RecieptID == 0)
            {
                addOrderRecieptResponse.Message = "Please pass all values.";
                return(addOrderRecieptResponse);
            }

            ReceiptOrderEL recieptOrderEL = new ReceiptOrderEL();

            request.SenderStoreID = Convert.ToInt32(authToken.FkUserID);
            recieptOrderEL        = MapperUtility.MapTo(request, recieptOrderEL);

            if (orderReceiptHelper.IsOrderRecieptAvailable(recieptOrderEL))
            {
                addOrderRecieptResponse.Message = "This reciept already sent to this store.";
                return(addOrderRecieptResponse);
            }

            if (orderReceiptHelper.AddOrderReceipt(recieptOrderEL))
            {
                addOrderRecieptResponse.Message   = "Reciept order added successfully.";
                addOrderRecieptResponse.IsSuccess = true;
                RecieptEL recEL = new RecieptEL();

                recEL.Price     = "0.00";
                recEL.Status    = ((int)ReceiptStatus.ProcessedToVendor).ToString();
                recEL.RecieptID = request.RecieptID;
                receiptHelper.UpdateOrderReceipt(recEL);
                return(addOrderRecieptResponse);
            }
            else
            {
                addOrderRecieptResponse.Message = "Some error occured.";
                return(addOrderRecieptResponse);
            }
        }
        public bool IsOrderRecieptAvailable(ReceiptOrderEL receiptOrderEL)
        {
            bool isOrderRecieptAvailable = false;

            try
            {
                using (uow = new UnitOfWork.UnitOfWork())
                {
                    isOrderRecieptAvailable = uow.RecieptOrderRepository.Get().Any(x => x.ReceiverStoreID == receiptOrderEL.ReceiverStoreID &&
                                                                                   x.SenderStoreID == receiptOrderEL.SenderStoreID && x.RecieptID == receiptOrderEL.RecieptID);
                    //isOrderRecieptAvailable = true;
                }
            }
            catch
            {
            }
            return(isOrderRecieptAvailable);
        }
        public bool AddOrderReceipt(ReceiptOrderEL receiptOrderEL)
        {
            bool isOrderReceiptAdded = false;

            try
            {
                RecieptOrder recieptOrder = new RecieptOrder();
                recieptOrder = MapperUtility.MapTo(receiptOrderEL, recieptOrder);
                using (uow = new UnitOfWork.UnitOfWork())
                {
                    uow.RecieptOrderRepository.Insert(recieptOrder);
                    uow.Save();
                    isOrderReceiptAdded = true;
                    int                   orderRecieptID    = recieptOrder.RecieptOrderID;
                    List <Product>        lstProduct        = uow.ProductRepository.Get().Where(x => x.RecieptID == receiptOrderEL.RecieptID).ToList();
                    List <OrderCandidate> lstOrderCandidate = new List <OrderCandidate>();
                    foreach (Product product in lstProduct)
                    {
                        OrderCandidate orderCandidate = new OrderCandidate();
                        orderCandidate.CreatedOn      = DateTime.Now.ToString();
                        orderCandidate.IsAvailable    = false;
                        orderCandidate.Price          = "0.00";
                        orderCandidate.ProductID      = product.ProductID;
                        orderCandidate.StoreID        = receiptOrderEL.ReceiverStoreID;
                        orderCandidate.UpdatedOn      = null;
                        orderCandidate.RecieptOrderID = orderRecieptID;
                        lstOrderCandidate.Add(orderCandidate);
                    }
                    uow.OrderCandidateRepository.InsertBulk(lstOrderCandidate);
                    uow.Save();
                }
            }
            catch
            {
                isOrderReceiptAdded = false;
            }

            return(isOrderReceiptAdded);
        }