예제 #1
0
        public SubscriptionList SyncPurchaseOrder(string userId)
        {
            UserSubscriptionLogic   userSubLogic = new UserSubscriptionLogic();
            List <UserSubscription> subsList     = new List <UserSubscription>();
            PurchaseOrderLogic      logic        = new PurchaseOrderLogic();
            SubscriptionList        userSsubList = new SubscriptionList();

            userSubLogic.UserManager = UserManager;
            userSubLogic.RoleManager = RoleManager;

            userSsubList.UserId = userId;
            var poList = logic.GetPOToBeSynchedByUser(userId);

            foreach (var poItem in poList)
            {
                foreach (var item in poItem.OrderItems)
                {
                    UserSubscription usersubs = new UserSubscription()
                    {
                        UserId             = userId,
                        SubscriptionTypeId = item.SubscriptionId,
                        ActivationDate     = DateTime.Now.Date,
                        Quantity           = item.Quantity
                    };
                    subsList.Add(usersubs);
                }
                var dataList = userSubLogic.CreateUserSubscriptionList(subsList, userId);
                poItem.IsSynched = true;
                logic.UpdatePurchaseOrder(poItem.Id, poItem);
                userSsubList.Subscriptions.AddRange(dataList.Subscriptions);
            }
            return(userSsubList);
        }
예제 #2
0
        public PurchaseOrder OfflinePayment(string userId)
        {
            CartLogic          cartLogic  = new CartLogic();
            PurchaseOrderLogic orderLogic = new PurchaseOrderLogic();
            PurchaseOrder      order      = new PurchaseOrder();

            try
            {
                var items = cartLogic.GetCartItems(userId);
                if (items.Count == 0)
                {
                    return(null);
                }

                order.UserId          = userId;
                order.CreatedDate     = DateTime.Now.Date;
                order.PurchaseOrderNo = orderLogic.CreatePONumber();
                List <PurchaseOrderItem> poItemList = new List <PurchaseOrderItem>();
                var total = 0.0;
                foreach (var item in items)
                {
                    PurchaseOrderItem poItem = new PurchaseOrderItem()
                    {
                        Quantity       = item.Quantity,
                        SubscriptionId = item.SubscriptionTypeId
                    };
                    poItemList.Add(poItem);
                    total += item.Price;
                }
                order.Total = total;
                var obj = orderLogic.CreatePurchaseOrder(order);
                if (obj != null && poItemList.Count > 0)
                {
                    POItemLogic itemLogic = new POItemLogic();
                    itemLogic.CreateItem(poItemList, obj.Id);

                    foreach (var item in items)
                    {
                        item.IsPurchased = true;
                        cartLogic.UpdateCartItem(item);
                    }
                }
                return(obj);
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
            return(null);
        }
예제 #3
0
        private void Save_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(Item.Text) || string.IsNullOrEmpty(Vendor.Text) ||
                string.IsNullOrEmpty(UnitPrice.Value.ToString()) ||
                string.IsNullOrEmpty(ItemQuantity.Value.ToString()))
            {
                errM.Message = "All Feilds mark with asterisk(*) Are Required";
                errM.Show();
            }
            else
            {
                PurchaseOrderLogic.PurchaseOrder(Item.Text, Vendor.Text, UnitPrice.Value.ToString(), ItemQuantity.Value.ToString(), TotalCost.Text);

                //errM.Message = "New item details saved successfully";
                //errM.Show();

                Hide();
            }
        }
예제 #4
0
        private void recieveItem_Click(object sender, RoutedEventArgs e)
        {
            DataRowView dataRow = RecieveItem.SelectedItem as DataRowView;

            if (dataRow != null)
            {
                PurchaseData.Id       = dataRow.Row[0].ToString();
                PurchaseData.Pid      = dataRow.Row[8].ToString();
                PurchaseData.Quantity = (int)dataRow.Row[5];
            }
            if (dataRow == null)
            {
                errM.Message = "Please select a row or an item from the table to recieve item into store.";
                errM.Show();
            }
            else
            {
                //giveing a warning message
                var response = System.Windows.MessageBox.Show("Do you really want to Recieve Item into store", "Recieve Item",
                                                              MessageBoxButton.YesNo, MessageBoxImage.Exclamation);

                if (response == MessageBoxResult.No)
                {
                    e.Handled = true;
                }
                else
                {
                    PurchaseOrderLogic.RecievePurchase(PurchaseData.Id, PurchaseData.Quantity);

                    PurchaseOrderLogic.SetPurchaseOderToZeroOnRecieve(PurchaseData.Pid);
                    //refresh the datasource to pull on purchase status to zero
                    //into datagrid
                    RecieveItem.ItemsSource = null;
                    RecieveItem.ItemsSource = new PurchaseOrderLogic().GetAllPurchaseOrderBeforeRecieve().DefaultView;
                    sm.Message = "Item is successfully recieved and added to item stock";
                    sm.Show();
                }
            }
        }
예제 #5
0
 public PurchaseOrderController()
 {
     logic = new PurchaseOrderLogic();
 }