Esempio n. 1
0
    static void Main()
    {
        var computer = new Sale("Lenovo","12-12-2014", 650);
        var dvd = new Sale("Philips", "12-12-2015", 300);
        var tv = new Sale("Samsung", "12-12-2016", 620);

        var john = new SalesEmployee(8120403565, "John", "Carera", 1500, Department.Production, dvd);
        var ivan = new SalesEmployee(85264040262, "Ivan", "Smallhouse", 5200, Department.Sales, computer, tv);

        var ludnica = new Project("gospodari.bg", "05-07-1947", "some details");
        var web = new Project("home.bg", "04-04-1984", "deeeetails");
        ludnica.CloseProject();
        
        var doncho = new Developer(85012236461, "Doncho", "Donkov", 41500, Department.Production, web, ludnica);

        var kiro = new Manager(7511119253, "Kiro", "Pora", john, ivan, doncho);

        var listOfPeople = new List<IPerson> {kiro, doncho, ivan, john};

        foreach (var person in listOfPeople)
        {
            Console.WriteLine(person);
            Console.WriteLine("--------------------------------------------------------------------------------");   
        }
    }
Esempio n. 2
0
        public ActionResult SalePayment(FormCollection values)
        {
            Sale order = new Sale();
            TryUpdateModel(order);

            try
            {
                var cart = ShoppingCart.GetCart(this.HttpContext);

                order.UserID = 6;
                order.Creation = DateTime.Now;
                order.Total = cart.GetTotal();

                //Save Order
                db.Sales.AddObject(order);
                db.SaveChanges();

                //Process the order
                cart.CreateSale(order);

                return RedirectToAction("Complete", new { id = order.SaleID });
            }
            catch
            {
                //Invalid - redisplay with errors
                var cart = ShoppingCart.GetCart(this.HttpContext);

                ViewBag.Total = cart.GetTotal();
                ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "Name", order.CustomerID);
                ViewBag.TypePaymentID = new SelectList(db.TypePayments, "TypePaymentID", "Name", order.TypePaymentID);
                ViewBag.UserID = new SelectList(db.Users, "UserID", "Name", order.UserID);
                return View(order);
            }
        }
Esempio n. 3
0
        public static void Main()
        {
            Manager manager1 = new Manager("000001", "Manager1", "Manager1 Last name", 123m, Department.Marketing);
            Manager manager2 = new Manager("000002", "Manager2", "Manager2 Last name", 351.23m, Department.Production);
            Manager manager3 = new Manager("000003", "Manager2", "Manager2 Last name", 421.53m, Department.Accounting);

            SalesEmployee salesEmployee1 = new SalesEmployee("000004", "SalesEmployee1", "SalesEmployee1 Last name", 212m, Department.Marketing);

            Developer developer1 = new Developer("000007", "Developer1", "Developer1 Last name", 2232m, Department.Marketing);
            Developer developer2 = new Developer("000009", "Developer3", "Developer3 Last name", 104.23m, Department.Accounting);

            Sale sale = new Sale("graphic card", DateTime.Now, 140m);
            Project project = new Project("Php", "Php course", DateTime.Now);

            manager1.AddEmployees(new HashSet<Employee> { salesEmployee1, developer2 });
            salesEmployee1.AddSales(new HashSet<Sale> { sale });
            developer1.AddProjects(new HashSet<Project> { project });

            IList<Employee> employees = new List<Employee>
            {
                manager1,
                manager2,
                manager3,
                salesEmployee1,
            };

            foreach (var employee in employees)
            {
                Console.WriteLine(employee);
            }
        }
Esempio n. 4
0
        public static IEnumerable<Sale> GetSalesFromFile(string fullFilePath)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(fullFilePath);

            var xmlQueryString = "/sales/sale";
            XmlNodeList nodesList = xmlDoc.SelectNodes(xmlQueryString);

            var sales = new HashSet<Sale>();

            foreach (XmlNode node in nodesList)
            {
                var date = node.SelectSingleNode("summary").Attributes["date"].Value;
                var quantity = node.SelectSingleNode("summary").Attributes["quantity"].Value;
                var unitPrice = node.SelectSingleNode("summary").Attributes["unit-price"].Value;
                var vendorId = node.Attributes["vendorId"].Value;
                var medicamentId = node.SelectSingleNode("summary").Attributes["medicamentId"].Value;

                Sale newSale = new Sale()
                {
                    Date = DateTime.Parse(date),
                    Quantity = int.Parse(quantity),
                    UnitPrice = decimal.Parse(unitPrice),
                    VendorId = int.Parse(vendorId),
                    MedicamentId = int.Parse(medicamentId)
                };

                sales.Add(newSale);
            }

            return sales;
        }
Esempio n. 5
0
 //
 // GET: /Sales/Create
 public ActionResult Create()
 {
     ViewBag.PossibleClients = _clientRepository.All;
     ViewBag.PossibleLotteries = _lotteryRepository.All;
     var sale = new Sale {Date = DateTime.Now};
     return View(sale);
 }
 public void sale_with_2_momogi_and_pepsi_should_be_totaled_6000()
 {
     var sale = new Sale();
     sale.AddLineItem(momogi, 2);
     sale.AddLineItem(pepsi);
     Assert.AreEqual(6000m, sale.GetTotal());
 }
Esempio n. 7
0
 public void DeleteRecord(Sale sale)
 {
     context.Sales.Detach(sale);
     context.Sales.Attach(context.Sales.Single(c => c.SaleId == sale.SaleId));
     context.Sales.DeleteObject(sale);
     context.SaveChanges();
 }
Esempio n. 8
0
 static Sale[] ReadSales()
 {
     int n = int.Parse(Console.ReadLine());
     Sale[] sales = new Sale[n];
     for (int i = 0; i < n; i++)
         sales[i] = ReadSale();
     return sales;
 }
 public SaleUpdateByEmployee(Sale sale, Employee employee, string message)
 {
     Sale = sale;
     Employee = employee;
     Date = DateTime.Now;
     //will add this property to the database later :D
     Message = message;
 }
Esempio n. 10
0
 public void Buy_Book_Post_NotValidModelState()
 {
     Sale sale = new Sale { BookId = 1, Id = 3};
     controller.ValidateModel(sale);
     var view = controller.BuyBook(sale);
     Assert.IsFalse(controller.ModelState.IsValid, "Валидная модель");
     Assert.IsTrue(view is ViewResult, "Неправильный тип ViewResult");
     Assert.IsNull(controller.ViewBag.Message, "Есть сообщение об успешной покупке");
 }
Esempio n. 11
0
 static Sale ReadSale()
 {
     string[] data = Console.ReadLine().Split(' ').ToArray();
     Sale sale = new Sale() { Town = data[0],
                             Product = data[1],
                             Price = decimal.Parse(data[2]),
                             Quantity = decimal.Parse(data[3]) };
     return sale;
 }
Esempio n. 12
0
 public void DeleteRecord(Sale sale, Item item, SaleDetail saleDetail)
 {
     context.Sales.Detach(sale);
     context.SaleDetails.Detach(saleDetail);
     context.Sales.Attach(context.Sales.Single(c => c.SaleId == sale.SaleId));
     context.SaleDetails.Attach(context.SaleDetails.Single(sd => sd.SaleId == sale.SaleId && sd.ItemId == item.ItemId));
     context.SaleDetails.DeleteObject(saleDetail);
     context.SaveChanges();
 }
Esempio n. 13
0
 public void AddSale(Sale sale, ICollection<SaleDetail> details)
 {
     bool correctTotal = ValidateSaleTotal(sale, details);
     if (!correctTotal)
     {
         sale.SaleTotal = CalculateSaleTotal(sale, details);
     }
     Sale_Manager.AddRecord(sale, details);
 }
Esempio n. 14
0
 public void Buy_Book_Post()
 {
     Sale sale = new Sale { BookId = 1, Id = 3, Quantity = 2, Date = DateTime.Now };
     controller.ValidateModel(sale);
     var view = controller.BuyBook(sale);
     Assert.IsTrue(controller.ModelState.IsValid, "Инвалидная модель");
     Assert.IsTrue(view is ViewResult, "Неправильный тип ViewResult");
     Assert.IsNotNull(controller.ViewBag.Message, "Нет сообщения об успешной покупке");
 }
        public void sale_total_with_changing_product_price_should_remain_consistent()
        {
            var sale = new Sale();
            sale.AddLineItem(momogi);
            Assert.AreEqual(500m, sale.GetTotal());

            momogi.UnitPrice = 0;
            Assert.AreEqual(500m, sale.GetTotal());
        }
Esempio n. 16
0
 public SaleDTO Create(Sale sale)
 {
     return new SaleDTO()
     {
         Url = urlbuilder.Link("GamingStoreRoute", new { id = sale.ID }),
         TotalAmount = sale.TotalAmount,
         Date= sale.Date
     };
 }
Esempio n. 17
0
 static Sale ReadSale()
 {
     string[] salesInput = Console.ReadLine().Split(' ');
     Sale sale = new Sale() { Town = salesInput[0],
                             Product = salesInput[1],
                             Price = decimal.Parse(salesInput[2]),
                             Quantity = decimal.Parse(salesInput[3]) };
     return sale;
 }
Esempio n. 18
0
 public void AddRecord(Sale sale, ICollection<SaleDetail> saleDetails)
 {
     context.Sales.AddObject(sale);
     foreach (var item in saleDetails)
     {
         item.SaleId = sale.SaleId;
         context.SaleDetails.AddObject(item);
     }
     context.SaveChanges();
 }
 public void add_sli_with_same_product_will_change_quantity()
 {
     var sale = new Sale();
     sale.AddLineItem(momogi, 2);
     Assert.AreEqual(1, sale.LineItems.Count);
     sale.AddLineItem(momogi);
     Assert.AreEqual(1, sale.LineItems.Count);
     var sli = sale.GetLineItem(momogi);
     Assert.AreEqual(3, sli.Quantity);
 }
Esempio n. 20
0
 public int CreateSale(string UserName, Sale newSale)
 {
     User user = GetUser(UserName);
     if (user != null)
     {
         newSale.UserId = user.Id;
         newSale.User = user;
         modelContainer.Sales.Add(newSale);
     }
     return modelContainer.DbSaveChanges();
 }
Esempio n. 21
0
        public ActionResult Add(Sale sale, FormCollection form, bool? convert)
        {
            bool isNew = false;

            //write activity to the log
            if (sale.ID == 0)
            {
                isNew = true;
                sale.Status = SaleType.Prospecting;
            }

            if(!string.IsNullOrEmpty(form["Companies"]))
                sale.CompanyID = Convert.ToInt32(form["Companies"]);

            if(!string.IsNullOrEmpty(form["People"]))
                sale.PersonID = Convert.ToInt32(form["People"]);

            if(!string.IsNullOrEmpty(form["Members"]))
                sale.OwnerID = new Guid(form["Members"]);

            if (!string.IsNullOrEmpty(form["PriorityType"]))
                sale.Priority = (PriorityType)Enum.Parse(typeof(CrumbCRM.PriorityType), form["PriorityType"], true);

            _saleService.Save(sale);

            if (!string.IsNullOrEmpty(form["Tags"]))
            {
                var current = _tagService.GetByArea(AreaType.Sale);
                string[] tags = form["Tags"].Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                tags.ToList().ForEach(t =>
                {
                    var tag = _tagService.GetByName(t);
                    if (tag == null)
                    {
                        tag = new Tag()
                        {
                            Name = t,
                            CreatedDate = DateTime.Now,
                            CreatedByID = _membershipService.GetCurrentMember().UserId
                        };
                        _tagService.Save(tag);
                    }
                    if(!current.Contains(tag))
                        _saleService.AssignTag(sale, tag);
                });
            }

            if(isNew)
                _activityService.Create("was added", AreaType.Sale, User.Identity.Name, sale.ID);

            TempData.Add("StatusMessage", "Sale added");

            return RedirectToAction("Index");
        }
Esempio n. 22
0
 public ActionResult Create(Sale sale)
 {
     if (ModelState.IsValid) {
         _saleRepository.InsertOrUpdate(sale);
         _saleRepository.Save();
         return RedirectToAction("Index");
     }
     ViewBag.PossibleClients = _clientRepository.All;
     ViewBag.PossibleLotteries = _lotteryRepository.All;
     return View(sale);
 }
Esempio n. 23
0
        public ActionResult Create(Sale sale)
        {
            if (ModelState.IsValid)
            {
                db.Sales.AddObject(sale);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.ClientId = new SelectList(db.Clients, "ClientId", "FirstName", sale.ClientId);
            ViewBag.ShippingAddress = new SelectList(db.Addresses, "AddressId", "Street", sale.ShippingAddress);
            return View(sale);
        }
Esempio n. 24
0
        public void CreateSale_Is_Idempotent()
        {
            // arrange
            var sale = new Sale("s1", new SaleState());

            // act
            sale.Create("seller", new Values.Item { Id = "item-id", Name = "item-name" }, price: 10, stock: 5);
            sale.Create("seller", new Values.Item { Id = "item-id", Name = "item-name" }, price: 10, stock: 5);

            // assert
            Assert.That(sale.Changes.Count(), Is.EqualTo(1));
            Assert.That(sale.Changes.First().Payload, Is.InstanceOf<SaleCreated>());
        }
Esempio n. 25
0
        public decimal CalculateSaleTotal(Sale sale, ICollection<SaleDetail> details)
        {
            decimal sum = 0;
            decimal cost;
            foreach (var item in details)
            {
                cost = Item_Manager.GetByID(item.ItemId).Cost;
                sum += item.Quantity * cost;
                cost = 0;
            }

            return sum;
        }
Esempio n. 26
0
        public static Sale CreateSale(int? saleStock = null)
        {
            var stock = saleStock ?? 10;

            var sale = new Sale("test-sale-id", new SaleState());

            sale.Create("test-seller-id",
                        new Values.Item { Id = "item-id", Name = "item-name" }, 
                        price: 10, 
                        stock: stock);

            // create a new aggregate from the state, to ensure the aggregate doesn't come with changes
            return AggregateFactory.For<Sale>().CreateFromState(sale.Id, sale.State);
        }
Esempio n. 27
0
        public ActionResult Create(Sale sale)
        {
            if (ModelState.IsValid)
            {
                sale.Creation = DateTime.Now;
                db.Sales.AddObject(sale);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.CustomerID = new SelectList(db.Customers, "CustomerID", "Name", sale.CustomerID);
            ViewBag.TypePaymentID = new SelectList(db.TypePayments, "TypePaymentID", "Name", sale.TypePaymentID);
            ViewBag.UserID = new SelectList(db.Users, "UserID", "Name", sale.UserID);
            return View(sale);
        }
Esempio n. 28
0
 /// <summary>
 /// Saves the sale or queues it for later
 /// </summary>
 /// <param name="sale"></param>        
 public virtual void Save(Sale sale)
 {
     //check if it's a scheduled sale
     if (sale.Date > DateTime.Now)
     {                
         _repository.Schedule(sale);
         sale.State = Sale.SaleState.Reserved;
     }
     else
     {
         //otherwise save
         _repository.Save(sale);
         sale.State = Sale.SaleState.Finalized;
     }
 }
Esempio n. 29
0
        static void Main(string[] args)
        {
            var sale = new Sale();
            var feature = Factory.Create<ISaleFeature>();

            var bus = Factory.Kernel.Get<IEventService>();
            bus.Subscribe<ExecuteEvent<Sale>>(x =>
                {
                    Console.WriteLine("Event {0} on {1}", x.Action, x.Entity);
                });

            feature.Create(sale);
            feature.Save(sale);
            
            Console.ReadKey();
        }
Esempio n. 30
0
        public ActionResult Create(Sale sale)
        {
            var adminInfo = db.Admins.Where(a => a.Username.Equals(User.Identity.Name)).First();
            sale.AdminID = adminInfo.ID;
            sale.Date = DateTime.Now;
            sale.Returned = false;
            if (ModelState.IsValid)
            {
                affectStorage(sale);
                db.Sales.Add(sale);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.CatID = new SelectList(db.Categories, "ID", "Name", sale.CatID);
            ViewBag.ProductID = new SelectList(db.Products, "ID", "Name", sale.ProductID);
            ViewBag.StorageID = new SelectList(db.Storages, "ID", "Name", sale.StorageID);
            return View(sale);
        }
Esempio n. 31
0
        internal async Task <JsonResult> SaleInfo(Sale info)
        {
            SqlConnection cn = null;

            try
            {
                cn = Connection.GetConnection();
                SqlCommand smd = new SqlCommand("sales_order_info", cn)
                {
                    CommandType = CommandType.StoredProcedure
                };

                smd.Parameters.Add("@sale_info_json", SqlDbType.NVarChar, -1).Direction = ParameterDirection.Output;
                smd.Parameters.Add("@address", SqlDbType.NVarChar, -1).Direction        = ParameterDirection.Output;
                smd.Parameters.AddWithValue("@sales_order_no", info.SaleOrderNo);
                // Execute the command
                await smd.ExecuteNonQueryAsync().ConfigureAwait(false);

                // Get the values
                string sale_info = smd.Parameters["@sale_info_json"].Value.ToString();
                string address   = smd.Parameters["@address"].Value.ToString();
                smd.Dispose();
                Connection.CloseConnection(ref cn);
                SaleInfoResponse saleInfoResponse = new SaleInfoResponse();

                JArray Jaddress = JArray.Parse(address);
                saleInfoResponse.Sales = JArray.Parse(sale_info);
                if (Jaddress[0]["address_type"].ToString() == "Bil")
                {
                    saleInfoResponse.BilTo = (JObject)Jaddress[0];
                    if (Jaddress.Count > 1)
                    {
                        saleInfoResponse.ShioTo = (JObject)Jaddress[1];
                    }
                    else
                    {
                        saleInfoResponse.ShioTo = (JObject)Jaddress[0];
                    }
                }
                else if (Jaddress.Count > 1)
                {
                    saleInfoResponse.BilTo  = (JObject)Jaddress[1];
                    saleInfoResponse.ShioTo = (JObject)Jaddress[0];
                }
                else
                {
                    saleInfoResponse.BilTo  = (JObject)Jaddress[0];
                    saleInfoResponse.ShioTo = (JObject)Jaddress[0];
                }



                return(new JsonResult(saleInfoResponse));
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                Connection.CloseConnection(ref cn);
            }
        }
Esempio n. 32
0
 public void Update(Sale sale)
 {
     _saleDal.Update(sale);
 }
Esempio n. 33
0
 public ActionResult StarSizing_Bind([C1JsonRequest] CollectionViewRequest <Sale> requestData)
 {
     return(this.C1Json(CollectionViewHelper.Read(requestData, Sale.GetData(50))));
 }
Esempio n. 34
0
 internal int Create(Sale sale)
 {
     id = _saleDal.Create(sale);
     return(id);
 }
Esempio n. 35
0
 public void MergeFrom(FolioCardSale other)
 {
     if (other == null)
     {
         return;
     }
     if (other.sale_ != null)
     {
         if (sale_ == null)
         {
             sale_ = new global::HOLMS.Types.Money.Cards.Transactions.PaymentCardSaleIndicator();
         }
         Sale.MergeFrom(other.Sale);
     }
     if (other.card_ != null)
     {
         if (card_ == null)
         {
             card_ = new global::HOLMS.Types.Folio.FolioGuestPaymentCard();
         }
         Card.MergeFrom(other.Card);
     }
     if (other.Purpose != 0)
     {
         Purpose = other.Purpose;
     }
     if (other.SaleState != 0)
     {
         SaleState = other.SaleState;
     }
     if (other.openAuthorized_ != null)
     {
         if (openAuthorized_ == null)
         {
             openAuthorized_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         OpenAuthorized.MergeFrom(other.OpenAuthorized);
     }
     if (other.captured_ != null)
     {
         if (captured_ == null)
         {
             captured_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         Captured.MergeFrom(other.Captured);
     }
     if (other.EntryMethod != 0)
     {
         EntryMethod = other.EntryMethod;
     }
     if (other.authorizedAt_ != null)
     {
         if (authorizedAt_ == null)
         {
             authorizedAt_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         AuthorizedAt.MergeFrom(other.AuthorizedAt);
     }
     if (other.capturedAt_ != null)
     {
         if (capturedAt_ == null)
         {
             capturedAt_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
         }
         CapturedAt.MergeFrom(other.CapturedAt);
     }
     if (other.ApplicationLabel.Length != 0)
     {
         ApplicationLabel = other.ApplicationLabel;
     }
     if (other.AID.Length != 0)
     {
         AID = other.AID;
     }
     if (other.ApplicationCrypto.Length != 0)
     {
         ApplicationCrypto = other.ApplicationCrypto;
     }
     if (other.ApprovalCode.Length != 0)
     {
         ApprovalCode = other.ApprovalCode;
     }
     if (other.receivedBy_ != null)
     {
         if (receivedBy_ == null)
         {
             receivedBy_ = new global::HOLMS.Types.IAM.StaffMemberIndicator();
         }
         ReceivedBy.MergeFrom(other.ReceivedBy);
     }
     if (other.finalAuthorizedAmount_ != null)
     {
         if (finalAuthorizedAmount_ == null)
         {
             finalAuthorizedAmount_ = new global::HOLMS.Types.Primitive.MonetaryAmount();
         }
         FinalAuthorizedAmount.MergeFrom(other.FinalAuthorizedAmount);
     }
 }
Esempio n. 36
0
        private void btnRecord_Click(object sender, EventArgs e)
        {
            if (btnRecord.Text == "OK")
            {
                ((frmControlHost)this.Parent).Close();
                return;
            }

            if (gridViewItemLayout.Rows.Count == 0)
            {
                Helper.ShowMessage("Sale must contain at least one product",
                                   "Sale Invalid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            //if (!UtilityClass.ValidateTexBox(txtAmountPaid))
            //    return;

            try
            {
                Product    product;
                SaleDetail salesDetails;
                Sale       sales = new Sale();

                string   InvoiceNo   = txtInvoiceNo.Text;
                string   AmountPaid  = txtAmountPaid.Text;
                string   subTotalAmt = txtSubTotal.Text;
                DateTime?SaleDate    = dtpSaleDate.Value;
                decimal  tax         = txtSalTax.Text.ToDecimal();
                int      locationID  = cmbLocation.SelectedValue.ToInt();
                decimal  saletax     = _sale.CalculateTax(subTotalAmt.ToDecimal(), tax);
                decimal  totalAmount = txtTotalAmt.Text.ToDecimal();

                sales.CustomerID    = txtCustomer.Tag.ToString();
                sales.Amount        = totalAmount;
                sales.SubTotal      = decimal.Parse(subTotalAmt);
                sales.InvoiceDate   = SaleDate.Value;
                sales.InvoiceNumber = InvoiceNo;
                sales.StoreID       = DEFAULT_LOCALSTOREID; //arbituary value, to bo replaced
                sales.Tax           = Math.Round(saletax, 2);
                sales.PaymentModeID = int.Parse(cmbPaymentMode.SelectedValue.ToString());

                //sales.Discount = txtSaleDiscount.Text == "" ? 0 : txtSaleDiscount.Text.ToDecimal();
                sales.AmountPaid = 0;
                sales.Balance    = 0;
                sales.DateClosed = null;
                //sales.SaleTypeID = (int)SaleStatus.Order;

                sales.SaleStatusID = (int)SaleStatuses.Order;//_sale.GetSaleStatus(totalAmount, AmountPaid.ToDecimal());
                sales.EmployeeID   = txtSalesPerson.Tag == null ? DEFAULT_SALESPERSONID : txtSalesPerson.Tag.ToString();
                sales.Discount     = txtSaleDiscount.Text == "" ? 0 : decimal.Parse(txtSaleDiscount.Text);
                sales.VoidSale     = false;
                sales.LocationID   = cmbLocation.SelectedValue.ToInt();

                try
                {
                    sales = _sale.GetSingle(new Sale {
                        SaleID = _sale.Add(sales)
                    });
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex, "An error occurred", "ucOrder", "btnRecord");
                    Helper.ShowMessage("An error occured " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                foreach (DataGridViewRow dr in gridViewItemLayout.Rows)
                {
                    if (dr.Cells[0].Value == null)
                    {
                        return;
                    }

                    salesDetails = new SaleDetail();
                    product      = new Product();

                    salesDetails.SaleID        = sales.SaleID;
                    salesDetails.Quantity      = int.Parse(dr.Cells["ColQty"].Value.ToString());
                    salesDetails.ProductID     = dr.Cells["ColItmNumber"].Value.ToString();
                    salesDetails.UnitPrice     = decimal.Parse(dr.Cells["ColPrice"].Value.ToString());
                    salesDetails.Discount      = decimal.Parse(dr.Cells["ColDiscount"].Value.ToString());
                    salesDetails.Tax           = decimal.Parse(dr.Cells["ColTax"].Value.ToString());
                    salesDetails.InvoiceNumber = InvoiceNo;
                    salesDetails.LineTotal     = decimal.Parse(dr.Cells["ColTotal"].Value.ToString());
                    salesDetails.LocationID    = cmbLocation.SelectedValue.ToInt();

                    try
                    {
                        _saleDetail.Add(salesDetails);
                    }
                    catch
                    {
                        _sale.RollBackSaleTransaction(InvoiceNo);

                        Helper.ShowMessage("Transaction was not completed, An error occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    int qty       = int.Parse(dr.Cells["ColQty"].Value.ToString());
                    int productID = dr.Cells["ColItmNumber"].Value.ToInt();

                    try
                    {
                        _product.ReduceInventory(qty, productID, locationID);
                    }
                    catch (Exception ex)
                    {
                        _sale.RollBackSaleTransaction(InvoiceNo);
                        _logger.LogError(ex, "An error occurred", "ucOrder", "btnRecord");
                    }
                }

                txtInvoiceNo.Tag = false;

                txtSubTotal.Tag = null;
                txtTotalAmt.Tag = null;

                Helper.ClearForm(this);
                gridViewItemLayout.Rows.Clear();

                lblStatus.Text = "Order recorded successfully";
                GetInvoiceNo();
            }
            catch (Exception ex)
            {
                Helper.ShowMessage("An error occured sale has been cancelled \n" + ex.Message,
                                   "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 37
0
 /// <summary>
 /// Assign "Payment Method" form for sale object
 /// </summary>
 /// <param name="sale"></param>
 public void SetSale(Sale sale)
 {
     this.sale         = sale;
     lblBalanceNo.Text = sale.getBalance().ToString("C");
     this.Show();
 }
        public IActionResult PostPublisherDetails()
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var publisher = new Publisher
            {
                PublisherName = "Tom Cruise",
                State         = "NY",
                Country       = "USA",
                City          = "New York"
            };



            var book1 = new Book
            {
                Title         = "Sushi, Anyone?",
                PublishedDate = DateTime.Now
            };

            var book2 = new Book
            {
                Title         = "Sushi2, Anyone?",
                PublishedDate = DateTime.Now
            };


            var sales1 = new Sale
            {
                Quantity  = 10,
                StoreId   = "6380",
                PayTerms  = "Net 60",
                OrderNum  = "6871",
                OrderDate = DateTime.Now,
            };

            var sales2 = new Sale
            {
                Quantity  = 20,
                StoreId   = "6380",
                PayTerms  = "Net 61",
                OrderNum  = "6872",
                OrderDate = DateTime.Now,
            };


            book1.Sales.Add(sales1);
            book2.Sales.Add(sales2);

            publisher.Books.Add(book1);

            publisher.Books.Add(book2);

            _context.Publishers.Add(publisher);

            _context.SaveChanges();


            if (publisher == null)
            {
                return(NotFound());
            }

            return(Ok(publisher));
        }
Esempio n. 39
0
 public Sale Add(Sale sale)
 {
     return(_saleDal.Add(sale));
 }
 public bool Save(Sale t)
 {
     return(saleRepository.Save(t));
 }
 public bool Update(Sale t)
 {
     return(saleRepository.Update(t));
 }
 public bool Delete(Sale t)
 {
     return(saleRepository.Delete(t));
 }
Esempio n. 43
0
        private void SeedSale(BreadingBreadDbContext context)
        {
            var sales = new Sale[]
            {
                new Sale
                {
                    IdUserSale = 1,
                    IdStore    = 1,
                    Total      = 20,
                    Visited    = System.DateTime.Now,
                    Lat        = 1.1223,
                    Lon        = -1223.22,
                    Commentary = ""
                },
                new Sale
                {
                    IdUserSale = 1,
                    IdStore    = 2,
                    Total      = 30,
                    Visited    = System.DateTime.Now,
                    Lat        = 1.1223,
                    Lon        = -1223.22,
                    Commentary = ""
                },
                new Sale
                {
                    IdUserSale = 1,
                    IdStore    = 3,
                    Total      = 30,
                    Visited    = System.DateTime.Now,
                    Lat        = 1.1223,
                    Lon        = -1223.22,
                    Commentary = ""
                },
                new Sale
                {
                    IdUserSale = 2,
                    IdStore    = 1,
                    Total      = 20,
                    Visited    = System.DateTime.Now.AddDays(-1),
                    Lat        = 1.1223,
                    Lon        = -1223.22,
                    Commentary = ""
                },
                new Sale
                {
                    IdUserSale = 3,
                    IdStore    = 2,
                    Total      = 20,
                    Visited    = System.DateTime.Now.AddDays(-1),
                    Lat        = 1.1223,
                    Lon        = -1223.22,
                    Commentary = ""
                },
            };

            foreach (var sale in sales)
            {
                context.Sale.Add(sale);
                context.SaveChanges();
            }
        }
Esempio n. 44
0
 public void Update(Sale sale)
 {
     _context.Entry(sale).State = EntityState.Modified;
     _context.SaveChanges();
 }
        }//Check_ForBackorders

        public List <Part> Place_Order(string username, int couponid, FinalTotalPOCO totals, string paymethod)
        {
            using (var context = new eBikeContext())
            {
                //Get the customers id
                int customerid = (from x in context.OnlineCustomers
                                  where x.UserName.Equals(username)
                                  select x.OnlineCustomerID).FirstOrDefault();
                if (customerid == 0)
                {
                    throw new Exception("You do not have a shopping cart, please add items to place an order");
                }
                else
                {
                    //Create and populate a new Sale
                    Sale newsale = new Sale();
                    newsale.SaleDate   = DateTime.Now;
                    newsale.UserName   = username;
                    newsale.EmployeeID = 10;
                    newsale.TaxAmount  = totals.GST;
                    newsale.SubTotal   = totals.SubTotal;
                    //Check if a coupon has been selected (FK constraint)
                    if (couponid == 0)
                    {
                        newsale.CouponID = null;
                    }
                    else
                    {
                        newsale.CouponID = couponid;
                    }
                    newsale.PaymentType  = paymethod;
                    newsale.PaymentToken = Guid.NewGuid();

                    //Add the new Sale to database
                    newsale = context.Sales.Add(newsale);

                    //Get the customers shopping cart id
                    int shoppingcartid = (from x in context.ShoppingCarts
                                          where x.OnlineCustomerID.Equals(customerid)
                                          select x.ShoppingCartID).FirstOrDefault();

                    //Get a list of all items in the customers shopping cart
                    List <ShoppingCartItem> useritems = (from x in context.ShoppingCartItems
                                                         where x.ShoppingCart.ShoppingCartID.Equals(shoppingcartid)
                                                         select x).ToList();

                    //Create a list of parts to be filled with backordered parts
                    List <Part> backorderedparts = new List <Part>();

                    //Create a Sale Detail for each item
                    foreach (ShoppingCartItem item in useritems)
                    {
                        //Get the corresponding part info
                        Part part = (from x in context.Parts
                                     where x.PartID.Equals(item.PartID)
                                     select x).FirstOrDefault();

                        //Check the remaining quantity of the part
                        if (item.Quantity > part.QuantityOnHand)
                        {
                            //Create a backordered sale detail
                            SaleDetail boitem = new SaleDetail();
                            boitem.SaleID       = newsale.SaleID;
                            boitem.PartID       = part.PartID;
                            boitem.Quantity     = item.Quantity;
                            boitem.SellingPrice = part.SellingPrice;
                            boitem.Backordered  = true;
                            boitem.ShippedDate  = null;

                            //Add the backordered part to return list
                            backorderedparts.Add(part);

                            //Add the backordered sale detail to database
                            context.SaleDetails.Add(boitem);
                        }
                        else
                        {
                            //Create a regular sale detail
                            SaleDetail saleitem = new SaleDetail();
                            saleitem.SaleID       = newsale.SaleID;
                            saleitem.PartID       = part.PartID;
                            saleitem.Quantity     = item.Quantity;
                            saleitem.SellingPrice = part.SellingPrice;
                            saleitem.Backordered  = false;
                            saleitem.ShippedDate  = DateTime.Now;

                            //Update QuantityOnHand for the part
                            part.QuantityOnHand = part.QuantityOnHand - item.Quantity;

                            //Make change to QOH in the database
                            context.Entry(part).Property(y => y.QuantityOnHand).IsModified = true;

                            //Add the new sale detail
                            context.SaleDetails.Add(saleitem);
                        }

                        //Delete the ShoppingCartItem from users ShoppingCart
                        context.ShoppingCartItems.Remove(item);
                    }//foreach item in useritems

                    //Find and delete the users ShoppingCart
                    var existingItem = context.ShoppingCarts.Find(shoppingcartid);
                    context.ShoppingCarts.Remove(existingItem);

                    //Save changes
                    context.SaveChanges();

                    //Return any backordered parts for display to user
                    return(backorderedparts);
                }
            }
        }//Place_Order
Esempio n. 46
0
 public void AddSale(Sale sale)
 {
     dataAccess.AddSale(sale);
 }
Esempio n. 47
0
 internal bool Edit(Sale sale)
 {
     status = _saleDal.Edit(sale);
     return(status);
 }
 public void Apply(Campaign campaign, Sale sale)
 {
     Console.WriteLine(campaign.CampaignName + " kampanyası " + campaign.Detail + " olacak şekilde " + sale.GameName + " satışına uygulanmıştır.");
 }
Esempio n. 49
0
        internal Sale GetById(int?id)
        {
            Sale sale = _saleDal.GetById(id);

            return(sale);
        }
        /// <summary>
        /// Method to suspend a sale
        /// </summary>
        /// <param name="saleType">Sale type</param>
        /// <param name="shareSusp">Share suspended sale or not</param>
        /// <param name="sale">Sale</param>
        /// <param name="userCode">User code</param>
        public void SuspendSale(string saleType, bool shareSusp, Sale sale, string userCode)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,SuspendedSaleService,SuspendSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}");

            var            uHead   = new DataTable();
            var            uLine   = new DataTable();
            var            uReason = new DataTable();
            SqlDataAdapter adapHead;
            SqlDataAdapter adapLine;
            SqlDataAdapter adapReason;
            var            tillConnection = new SqlConnection(GetConnectionString(DataSource.CSCTills));

            if (tillConnection.State == ConnectionState.Closed)
            {
                tillConnection.Open();
            }

            if (shareSusp)
            {
                adapHead = new SqlDataAdapter("select * from SusHead", tillConnection);
                adapHead.Fill(uHead);
                adapLine = new SqlDataAdapter("select * from SusLine", tillConnection);
                adapLine.Fill(uLine);
                adapReason = new SqlDataAdapter("select * from SusReas", tillConnection);
                adapReason.Fill(uReason);
            }
            else
            {
                adapHead = new SqlDataAdapter("select * from SusHead where SusHead.TILL=" + sale.TillNumber, tillConnection);
                adapHead.Fill(uHead);
                adapLine = new SqlDataAdapter("select * from SusLine where SusLine.TILL_NUM=" + sale.TillNumber, tillConnection);
                adapLine.Fill(uLine);
                adapReason = new SqlDataAdapter("select * from SusReas where SusReas.TILL_NUM=" + sale.TillNumber, tillConnection);
                adapReason.Fill(uReason);
            }

            var sTmpCardSales = GetRecords("select * from CardSales where TILL_NUM=" + sale.TillNumber + " AND SALE_NO = " + sale.Sale_Num, DataSource.CSCCurSale);
            var sCardSales    = new DataTable();

            _adapter = new SqlDataAdapter("select * from CardSales where TILL_NUM=" + sale.TillNumber, tillConnection);
            _adapter.Fill(sCardSales);
            foreach (DataRow dataRow in sTmpCardSales.Rows)
            {
                var newRow = sCardSales.NewRow();
                newRow["TILL_NUM"]     = sale.TillNumber;
                newRow["SALE_NO"]      = dataRow["SALE_NO"];
                newRow["LINE_NUM"]     = dataRow["LINE_NUM"];
                newRow["CardType"]     = dataRow["CardType"];
                newRow["CardNum"]      = dataRow["CardNum"];
                newRow["CardBalance"]  = dataRow["CardBalance"];
                newRow["PointBalance"] = dataRow["PointBalance"];
                newRow["SaleAmount"]   = dataRow["SaleAmount"];
                newRow["SaleType"]     = dataRow["SaleType"];
                newRow["ExpDate"]      = dataRow["ExpDate"];
                newRow["RefNum"]       = dataRow["RefNum"];
                newRow["Response"]     = dataRow["Response"];
                sCardSales.Rows.Add(newRow);
            }
            var builder = new SqlCommandBuilder(_adapter);

            _adapter.InsertCommand = builder.GetInsertCommand();
            _adapter.Update(sCardSales);
            _adapter?.Dispose();

            DataRow uRow = uHead.NewRow();

            uRow["SALE_NO"]          = sale.Sale_Num;
            uRow["Till"]             = sale.TillNumber;
            uRow["Regist"]           = sale.Register;
            uRow["User"]             = userCode;
            uRow["Client"]           = sale.Customer.Code;
            uRow["T_type"]           = sale.Sale_Type; // Nicolette added
            uRow["Reason"]           = sale.Return_Reason.Reason;
            uRow["Reason_Type"]      = sale.Return_Reason.RType;
            uRow["Disc_Type"]        = sale.Sale_Totals.Invoice_Discount_Type;
            uRow["Invc_Disc"]        = sale.Sale_Totals.Invoice_Discount;
            uRow["Discount_Percent"] = sale.Sale_Totals.Discount_Percent;
            uRow["Void_No"]          = sale.Void_Num;

            uRow["LoyaltyCard"]    = sale.Customer.LoyaltyCard;
            uRow["LoyaltyExpDate"] = sale.Customer.LoyaltyExpDate;
            if (!string.IsNullOrEmpty(sale.CouponID))
            {
                if (sale.CouponTotal < 0)
                {
                    uRow["CouponID"] = sale.CouponID;
                }
            }

            uRow["Upsell"] = sale.Upsell;
            uHead.Rows.Add(uRow);
            builder = new SqlCommandBuilder(adapHead);
            adapHead.InsertCommand = builder.GetInsertCommand();
            adapHead.Update(uHead);
            adapHead.Dispose();

            var ln = (short)0;

            foreach (Sale_Line tempLoopVarSl in sale.Sale_Lines)
            {
                var sl = tempLoopVarSl;
                ln++;
                var uLineRow = uLine.NewRow();
                uLineRow["sale_no"]      = sale.Sale_Num;
                uLineRow["Line_Num"]     = ln;
                uLineRow["PLU_Code"]     = sl.PLU_Code;
                uLineRow["Quantity"]     = sl.Quantity;
                uLineRow["price"]        = sl.price;
                uLineRow["Discount"]     = sl.Line_Discount;
                uLineRow["Disc_Type"]    = sl.Discount_Type;
                uLineRow["Disc_Adj"]     = sl.Discount_Adjust;
                uLineRow["Disc_Code"]    = sl.Discount_Code;
                uLineRow["Disc_Rate"]    = sl.Discount_Rate;
                uLineRow["DiscountName"] = sl.DiscountName; //
                uLineRow["Loyl_Save"]    = sl.Loyalty_Save;
                uLineRow["Units"]        = sl.Units;
                uLineRow["Serial_No"]    = sl.Serial_No;
                uLineRow["User"]         = sl.User;
                uLineRow["pumpID"]       = sl.pumpID;
                uLineRow["PositionID"]   = sl.PositionID;
                uLineRow["GradeID"]      = sl.GradeID;
                uLineRow["Gift_Cert"]    = sl.Gift_Certificate;
                uLineRow["GC_Num"]       = sl.Gift_Num;
                uLineRow["Till_Num"]     = sale.TillNumber;
                uLineRow["ManualFuel"]   = sl.ManualFuel;
                uLineRow["TaxExempt"]    = sl.IsTaxExemptItem;
                uLineRow["Amount"]       = sl.Amount;

                if (sl.PromoID != "")
                {
                    uLineRow["PromoID"] = sl.PromoID;
                }

                uLineRow["Upsell"] = sl.Upsell;

                uLineRow["ScalableItem"] = sl.ScalableItem;
                uLine.Rows.Add(uLineRow);

                foreach (Return_Reason tempLoopVarRr in sl.Return_Reasons)
                {
                    var reasonRow = uReason.NewRow();
                    reasonRow["Till_Num"]    = sale.TillNumber;
                    reasonRow["sale_no"]     = sale.Sale_Num;
                    reasonRow["Line_Num"]    = ln;
                    reasonRow["Reason"]      = tempLoopVarRr.Reason;
                    reasonRow["Reason_Type"] = tempLoopVarRr.RType;
                    uReason.Rows.Add(reasonRow);
                    builder = new SqlCommandBuilder(adapReason);
                    adapReason.InsertCommand = builder.GetInsertCommand();
                    adapReason.Update(uReason);
                }
                adapReason.Dispose();
                builder = new SqlCommandBuilder(adapLine);
                adapLine.InsertCommand = builder.GetInsertCommand();
                adapLine.Update(uLine);
            }

            adapLine.Dispose();
            tillConnection.Close();
            Execute("Delete from CurrentSale Where SaleNumber = " + Convert.ToString(sale.Sale_Num), DataSource.CSCCurSale);
            Execute("Delete FROM CardSales WHERE CardSales.SALE_NO = " + Convert.ToString(sale.Sale_Num), DataSource.CSCCurSale);
            _performancelog.Debug($"End,SuspendedSaleService,SuspendSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
        }
Esempio n. 51
0
        /// <summary>
        /// Process a payment
        /// </summary>
        /// <param name="processPaymentRequest">Payment info required for an order processing</param>
        /// <returns>Process payment result</returns>
        public ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest)
        {
            var result = new ProcessPaymentResult();

            var customer = _customerService.GetCustomerById(processPaymentRequest.CustomerId);

            if (customer == null)
            {
                throw new Exception("Customer cannot be loaded");
            }

            try
            {
                var apiContext = PaypalHelper.GetApiContext(_paypalDirectPaymentSettings);
                var currency   = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId);
                var payment    = new Payment()
                {
                    #region payer

                    payer = new Payer()
                    {
                        payment_method = "credit_card",

                        #region credit card info

                        funding_instruments = new List <FundingInstrument>
                        {
                            new FundingInstrument
                            {
                                credit_card = new CreditCard
                                {
                                    type         = processPaymentRequest.CreditCardType.ToLowerInvariant(),
                                    number       = processPaymentRequest.CreditCardNumber,
                                    cvv2         = processPaymentRequest.CreditCardCvv2,
                                    expire_month = processPaymentRequest.CreditCardExpireMonth,
                                    expire_year  = processPaymentRequest.CreditCardExpireYear
                                }
                            }
                        },

                        #endregion

                        #region payer info

                        payer_info = new PayerInfo
                        {
                            #region billing address

                            billing_address = customer.BillingAddress == null ? null : new Address
                            {
                                country_code = customer.BillingAddress.Country != null ? customer.BillingAddress.Country.TwoLetterIsoCode : null,
                                state        = customer.BillingAddress.StateProvince != null ? customer.BillingAddress.StateProvince.Abbreviation : null,
                                city         = customer.BillingAddress.City,
                                line1        = customer.BillingAddress.Address1,
                                line2        = customer.BillingAddress.Address2,
                                phone        = customer.BillingAddress.PhoneNumber,
                                postal_code  = customer.BillingAddress.ZipPostalCode
                            },

                            #endregion

                            email      = customer.BillingAddress != null ? customer.BillingAddress.Email : null,
                            first_name = customer.BillingAddress != null ? customer.BillingAddress.FirstName : null,
                            last_name  = customer.BillingAddress != null ? customer.BillingAddress.LastName : null
                        }

                        #endregion
                    },

                    #endregion

                    #region transaction

                    transactions = new List <Transaction>()
                    {
                        new Transaction
                        {
                            #region amount

                            amount = new Amount
                            {
                                total    = processPaymentRequest.OrderTotal.ToString("N", new CultureInfo("en-US")),
                                currency = currency != null ? currency.CurrencyCode : null
                            },

                            #endregion

                            #region shipping address

                            item_list = customer.ShippingAddress == null ? null : new ItemList
                            {
                                shipping_address = new ShippingAddress
                                {
                                    country_code   = customer.ShippingAddress.Country != null ? customer.ShippingAddress.Country.TwoLetterIsoCode : null,
                                    state          = customer.ShippingAddress.StateProvince != null ? customer.ShippingAddress.StateProvince.Abbreviation : null,
                                    city           = customer.ShippingAddress.City,
                                    line1          = customer.ShippingAddress.Address1,
                                    line2          = customer.ShippingAddress.Address2,
                                    phone          = customer.ShippingAddress.PhoneNumber,
                                    postal_code    = customer.ShippingAddress.ZipPostalCode,
                                    recipient_name = string.Format("{0} {1}", customer.ShippingAddress.FirstName, customer.ShippingAddress.LastName)
                                }
                            },

                            #endregion

                            invoice_number = processPaymentRequest.OrderGuid != Guid.Empty ? processPaymentRequest.OrderGuid.ToString() : null
                        }
                    },

                    #endregion

                    intent = _paypalDirectPaymentSettings.TransactMode == TransactMode.Authorize ? "authorize" : "sale",
                }.Create(apiContext);

                if (payment.transactions[0].related_resources.Any() && payment.transactions[0].related_resources[0] != null)
                {
                    if (_paypalDirectPaymentSettings.TransactMode == TransactMode.Authorize)
                    {
                        var authorization = payment.transactions[0].related_resources[0].authorization;
                        if (authorization != null)
                        {
                            if (authorization.fmf_details != null && !string.IsNullOrEmpty(authorization.fmf_details.filter_id))
                            {
                                result.AuthorizationTransactionResult = string.Format("Authorization is {0}. Based on fraud filter: {1}. {2}",
                                                                                      authorization.fmf_details.filter_type, authorization.fmf_details.name, authorization.fmf_details.description);
                                result.NewPaymentStatus = GetPaymentStatus(Authorization.Get(apiContext, authorization.id).state);
                            }
                            else
                            {
                                result.AuthorizationTransactionResult = authorization.state;
                                result.NewPaymentStatus = GetPaymentStatus(authorization.state);
                            }
                            result.AuthorizationTransactionId = authorization.id;
                        }
                    }
                    else
                    {
                        var sale = payment.transactions[0].related_resources[0].sale;
                        if (sale != null)
                        {
                            if (sale.fmf_details != null && !string.IsNullOrEmpty(sale.fmf_details.filter_id))
                            {
                                result.CaptureTransactionResult = string.Format("Sale is {0}. Based on fraud filter: {1}. {2}",
                                                                                sale.fmf_details.filter_type, sale.fmf_details.name, sale.fmf_details.description);
                                result.NewPaymentStatus = GetPaymentStatus(Sale.Get(apiContext, sale.id).state);
                            }
                            else
                            {
                                result.CaptureTransactionResult = sale.state;
                                result.NewPaymentStatus         = GetPaymentStatus(sale.state);
                            }
                            result.CaptureTransactionId = sale.id;
                            result.AvsResult            = sale.processor_response != null ? sale.processor_response.avs_code : string.Empty;
                        }
                    }
                }
                else
                {
                    result.AddError("PayPal error");
                }
            }
            catch (PayPal.PayPalException exc)
            {
                if (exc is PayPal.ConnectionException)
                {
                    var error = JsonFormatter.ConvertFromJson <Error>((exc as PayPal.ConnectionException).Response);
                    if (error != null)
                    {
                        result.AddError(string.Format("PayPal error: {0} ({1})", error.message, error.name));
                        if (error.details != null)
                        {
                            error.details.ForEach(x => result.AddError(string.Format("{0} {1}", x.field, x.issue)));
                        }
                    }
                }

                //if there are not the specific errors add exception message
                if (result.Success)
                {
                    result.AddError(exc.InnerException != null ? exc.InnerException.Message : exc.Message);
                }
            }

            return(result);
        }
        /// <summary>
        /// Method to get suspended sale
        /// </summary>
        /// <param name="tillNumber">Till number</param>
        /// <param name="saleNumber">Sale number</param>
        /// <param name="shareSusp">Share suspended sale</param>
        /// <returns>Sale</returns>
        public Sale GetSuspendedSale(int tillNumber, int saleNumber, bool shareSusp)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,SuspendedSaleService,GetSuspendedSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}");

            var       sale = new Sale();
            DataTable uHead;
            DataTable uLine;

            if (shareSusp)
            {
                uHead = GetRecords("select * from SusHead  WHERE SALE_NO=" + Convert.ToString(saleNumber), DataSource.CSCTills);
                uLine = GetRecords("select * from SusLine WHERE SALE_NO=" + Convert.ToString(saleNumber) + " ORDER BY SusLine.Line_Num ", DataSource.CSCTills);
            }
            else
            {
                uHead = GetRecords("select * from SusHead where TILL=" + tillNumber + " AND SALE_NO=" + Convert.ToString(saleNumber), DataSource.CSCTills);
                uLine = GetRecords("select * from SusLine where TILL_NUM=" + tillNumber + " AND SALE_NO=" + Convert.ToString(saleNumber) + " ORDER BY SusLine.Line_Num ", DataSource.CSCTills);
            }

            if (uHead.Rows.Count > 0)
            {
                sale.Sale_Num             = CommonUtility.GetIntergerValue(uHead.Rows[0]["SALE_NO"]);
                sale.TillNumber           = (byte)tillNumber;
                sale.Register             = CommonUtility.GetByteValue(uHead.Rows[0]["Regist"]);
                sale.Customer.Code        = CommonUtility.GetStringValue(uHead.Rows[0]["Client"]);
                sale.Sale_Type            = CommonUtility.GetStringValue(uHead.Rows[0]["T_type"]);
                sale.Return_Reason.Reason = CommonUtility.GetStringValue(uHead.Rows[0]["Reason"]);
                sale.Return_Reason.RType  = CommonUtility.GetStringValue(uHead.Rows[0]["Reason_Type"]);
                sale.Sale_Totals.Invoice_Discount_Type = CommonUtility.GetStringValue(uHead.Rows[0]["Disc_Type"]);
                sale.Sale_Totals.Invoice_Discount      = CommonUtility.GetDecimalValue(uHead.Rows[0]["Invc_Disc"]);
                sale.Sale_Totals.Discount_Percent      = CommonUtility.GetFloatValue(uHead.Rows[0]["Discount_Percent"]);
                sale.Void_Num = CommonUtility.GetIntergerValue(uHead.Rows[0]["Void_No"]);

                sale.Customer.LoyaltyCard    = CommonUtility.GetStringValue(uHead.Rows[0]["LoyaltyCard"]);
                sale.Customer.LoyaltyExpDate = CommonUtility.GetStringValue(uHead.Rows[0]["LoyaltyExpDate"]);
                sale.CouponID = CommonUtility.GetStringValue(uHead.Rows[0]["CouponID"]);
                sale.Upsell   = CommonUtility.GetBooleanValue(uHead.Rows[0]["Upsell"]);
                var ln = (short)0;

                foreach (DataRow row in uLine.Rows)
                {
                    ln++;
                    var sl = new Sale_Line
                    {
                        Sale_Num = CommonUtility.GetStringValue(row["sale_no"]),
                        Till_Num = sale.TillNumber
                    };
                    sale.Sale_Num       = CommonUtility.GetIntergerValue(row["sale_no"]);
                    sl.Line_Num         = ln;
                    sl.PLU_Code         = CommonUtility.GetStringValue(row["PLU_Code"]);
                    sl.Quantity         = CommonUtility.GetFloatValue(row["Quantity"]);
                    sl.price            = CommonUtility.GetDoubleValue(row["price"]);
                    sl.Amount           = CommonUtility.GetDecimalValue(row["Amount"]);
                    sl.Line_Discount    = CommonUtility.GetDoubleValue(row["Discount"]);
                    sl.Discount_Type    = CommonUtility.GetStringValue(row["Disc_Type"]);
                    sl.Discount_Adjust  = CommonUtility.GetDoubleValue(row["Disc_Adj"]);
                    sl.Discount_Code    = CommonUtility.GetStringValue(row["Disc_Code"]);
                    sl.Discount_Rate    = CommonUtility.GetFloatValue(row["Disc_Rate"]);
                    sl.DiscountName     = CommonUtility.GetStringValue(row["DiscountName"]);
                    sl.Price_Type       = CommonUtility.GetCharValue(row["Price_Type"]);
                    sl.Loyalty_Save     = CommonUtility.GetFloatValue(row["Loyl_Save"]);
                    sl.Units            = CommonUtility.GetStringValue(row["Units"]);
                    sl.Serial_No        = CommonUtility.GetStringValue(row["Serial_No"]);
                    sl.User             = CommonUtility.GetStringValue(row["User"]);
                    sl.pumpID           = CommonUtility.GetByteValue(row["pumpID"]);
                    sl.PositionID       = CommonUtility.GetByteValue(row["PositionID"]);
                    sl.GradeID          = CommonUtility.GetByteValue(row["GradeID"]);
                    sl.Gift_Certificate = CommonUtility.GetBooleanValue(row["Gift_Cert"]);
                    sl.Gift_Num         = CommonUtility.GetStringValue(row["GC_Num"]);
                    sale.TillNumber     = (byte)tillNumber;
                    sl.ManualFuel       = CommonUtility.GetBooleanValue(row["ManualFuel"]);

                    sl.IsTaxExemptItem = CommonUtility.GetBooleanValue(row["TaxExempt"]);

                    var strPromo = CommonUtility.GetStringValue(row["PromoID"]);
                    if (!string.IsNullOrEmpty(strPromo))
                    {
                        sl.PromoID = strPromo;
                    }
                    sl.Upsell       = CommonUtility.GetBooleanValue(row["Upsell"]);
                    sl.ScalableItem = CommonUtility.GetBooleanValue(row["ScalableItem"]);
                    DataTable uReason;
                    if (shareSusp)
                    {
                        uReason =
                            GetRecords(
                                "select * from SusReas  WHERE SALE_NO=" + Convert.ToString(saleNumber) +
                                " AND LINE_Num = " + ln + " ORDER BY SusReas.Line_Num", DataSource.CSCTills);
                    }
                    else
                    {
                        uReason =
                            GetRecords(
                                "select * from SusReas where TILL_NUM=" + tillNumber + " AND SALE_NO=" +
                                Convert.ToString(saleNumber) + " AND LINE_Num = " + ln +
                                " ORDER BY SusReas.Line_Num", DataSource.CSCTills);
                    }
                    var returnReason = new Return_Reason();

                    foreach (DataRow dataRow in uReason.Rows)
                    {
                        if (CommonUtility.GetStringValue(dataRow["Reason"]) != "" &
                            CommonUtility.GetStringValue(dataRow["Reason_Type"]) != "")
                        {
                            returnReason.Reason = CommonUtility.GetStringValue(dataRow["Reason"]);
                            returnReason.RType  = CommonUtility.GetStringValue(dataRow["Reason_Type"]);
                        }
                        sl.Return_Reasons.Add(returnReason.Reason, returnReason.RType, ln.ToString());
                    }
                    sale.Sale_Lines.AddLine(ln, sl, "");
                }
                _performancelog.Debug($"End,SuspendedSaleService,GetSuspendedSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

                return(sale);
            }
            _performancelog.Debug($"End,SuspendedSaleService,GetSuspendedSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

            return(new Sale());
        }
Esempio n. 53
0
        private static void Seed(SalesContext db)
        {
            Customer customer = new Customer
            {
                Name             = "Gosho",
                Email            = "*****@*****.**",
                CreditCardNumber = "123",
            };


            Customer customer2 = new Customer
            {
                Name             = "Ivan",
                Email            = "*****@*****.**",
                CreditCardNumber = "567",
            };

            db.Add(customer2);

            db.Add(customer);



            Sale sale = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 1,
                CustomerId = 1,
                StoreId    = 2,
            };

            db.AddRange(sale);



            Sale sale2 = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 2,
                CustomerId = 2,
                StoreId    = 1,
            };

            db.Add(sale2);

            Sale sale3 = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 1,
                CustomerId = 1,
                StoreId    = 2,
            };

            db.Add(sale3);

            Product product = new Product
            {
                Name        = "Sirene",
                Quantity    = 15,
                Price       = 120,
                Description = "Unikalno",
            };

            product.Sales.Add(sale);
            product.Sales.Add(sale2);



            Product product2 = new Product
            {
                Name        = "Salam",
                Quantity    = 5,
                Price       = 13,
                Description = "Vkusno",
            };

            product2.Sales.Add(sale);
            product2.Sales.Add(sale2);

            db.Add(product2);

            Store store = new Store
            {
                Name = "Metro"
            };

            store.Sales.Add(sale3);



            db.Add(store);
            db.SaveChanges();
        }
Esempio n. 54
0
 public async Task <dynamic> SendSale(Sale sale)
 {
     return(await _apiBase.AppendPathSegment("sales").PostJsonAsync(sale).ReceiveJson());
 }
Esempio n. 55
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (sale_ != null)
            {
                hash ^= Sale.GetHashCode();
            }
            if (card_ != null)
            {
                hash ^= Card.GetHashCode();
            }
            if (Purpose != 0)
            {
                hash ^= Purpose.GetHashCode();
            }
            if (SaleState != 0)
            {
                hash ^= SaleState.GetHashCode();
            }
            if (openAuthorized_ != null)
            {
                hash ^= OpenAuthorized.GetHashCode();
            }
            if (captured_ != null)
            {
                hash ^= Captured.GetHashCode();
            }
            if (EntryMethod != 0)
            {
                hash ^= EntryMethod.GetHashCode();
            }
            if (authorizedAt_ != null)
            {
                hash ^= AuthorizedAt.GetHashCode();
            }
            if (capturedAt_ != null)
            {
                hash ^= CapturedAt.GetHashCode();
            }
            if (ApplicationLabel.Length != 0)
            {
                hash ^= ApplicationLabel.GetHashCode();
            }
            if (AID.Length != 0)
            {
                hash ^= AID.GetHashCode();
            }
            if (ApplicationCrypto.Length != 0)
            {
                hash ^= ApplicationCrypto.GetHashCode();
            }
            if (ApprovalCode.Length != 0)
            {
                hash ^= ApprovalCode.GetHashCode();
            }
            if (receivedBy_ != null)
            {
                hash ^= ReceivedBy.GetHashCode();
            }
            if (finalAuthorizedAmount_ != null)
            {
                hash ^= FinalAuthorizedAmount.GetHashCode();
            }
            return(hash);
        }
Esempio n. 56
0
 public void Delete(Sale sale)
 {
     _saleDal.Delete(sale);
 }
 public void Insert(Sale sale)
 {
     _contextEf.Sales.Add(sale);
     _contextEf.SaveChanges();
 }
 public bool Add(Sale sale)
 {
     return(_saleRepository.Add(sale));
 }
            protected override void Seed(SalesContext context)
            {
                // Products
                var product1 = new Product()
                {
                    Name     = "Cheese",
                    Quantity = 150,
                    Price    = 6.90m,
                };

                context.Products.Add(product1);

                var product2 = new Product()
                {
                    Name     = "Milk",
                    Quantity = 50,
                    Price    = 2.50m,
                };

                context.Products.Add(product2);

                var product3 = new Product()
                {
                    Name     = "Bread",
                    Quantity = 60,
                    Price    = 0.90m,
                };

                context.Products.Add(product3);

                var product4 = new Product()
                {
                    Name     = "Chicken",
                    Quantity = 99,
                    Price    = 9.99m,
                };

                context.Products.Add(product4);

                var product5 = new Product()
                {
                    Name     = "Fur",
                    Quantity = 99,
                    Price    = 9.99m,
                };

                context.Products.Add(product5);

                // Products

                // Customers

                var customer1 = new Customer()
                {
                    Name             = "Pesho",
                    Email            = "*****@*****.**",
                    CreditCardNumber = "IBN231231675"
                };

                context.Customers.Add(customer1);

                var customer2 = new Customer()
                {
                    Name             = "Goshko",
                    Email            = "*****@*****.**",
                    CreditCardNumber = "IBN6967MVC75"
                };

                context.Customers.Add(customer2);

                var customer3 = new Customer()
                {
                    Name             = "Sashko",
                    Email            = "*****@*****.**",
                    CreditCardNumber = "IBN231231675"
                };

                context.Customers.Add(customer3);

                var customer4 = new Customer()
                {
                    Name             = "Vlado",
                    Email            = "*****@*****.**",
                    CreditCardNumber = "IBN6997316757"
                };

                context.Customers.Add(customer4);

                var customer5 = new Customer()
                {
                    Name             = "John Cena",
                    Email            = "*****@*****.**",
                    CreditCardNumber = "IBN6997316757"
                };

                context.Customers.Add(customer5);

                // Customers

                // Stores

                var storeLocation1 = new StoreLocation()
                {
                    LocationName = "Barcelona"
                };

                context.StoreLocations.Add(storeLocation1);

                var storeLocation2 = new StoreLocation()
                {
                    LocationName = "Madrid"
                };

                context.StoreLocations.Add(storeLocation2);

                var storeLocation3 = new StoreLocation()
                {
                    LocationName = "London"
                };

                context.StoreLocations.Add(storeLocation3);

                var storeLocation4 = new StoreLocation()
                {
                    LocationName = "Sofia"
                };

                context.StoreLocations.Add(storeLocation4);

                var storeLocation5 = new StoreLocation()
                {
                    LocationName = "Plovdiv"
                };

                context.StoreLocations.Add(storeLocation5);

                // Locations

                // Sales

                var sale1 = new Sale()
                {
                    Customer      = customer3,
                    Product       = product1,
                    StoreLocation = storeLocation5,
                    Date          = Convert.ToDateTime("01/08/2016"),
                };

                context.Sales.Add(sale1);

                var sale2 = new Sale()
                {
                    Customer      = customer1,
                    Product       = product2,
                    StoreLocation = storeLocation4,
                    Date          = Convert.ToDateTime("05/08/2016")
                };

                context.Sales.Add(sale2);


                var sale3 = new Sale()
                {
                    Customer      = customer5,
                    Product       = product4,
                    StoreLocation = storeLocation2,
                    Date          = Convert.ToDateTime("12/02/2017")
                };

                context.Sales.Add(sale3);

                var sale4 = new Sale()
                {
                    Customer      = customer1,
                    Product       = product2,
                    StoreLocation = storeLocation3,
                    Date          = Convert.ToDateTime(DateTime.Now)
                };

                context.Sales.Add(sale4);

                var sale5 = new Sale()
                {
                    Customer      = customer1,
                    Product       = product5,
                    StoreLocation = storeLocation2,
                    Date          = Convert.ToDateTime("1/03/2017")
                };

                context.Sales.Add(sale5);

                base.Seed(context);
            }
Esempio n. 60
0
 public void Add(Sale sale)
 {
     _context.Add(sale);
     _context.SaveChanges();
 }