コード例 #1
0
        //Searches an item in the  database T Table(by id, or by name)
        //To be implemented by the inheriting classes
        public List <T> SearchTableItem(int srcById = 0, string srcByName = "", DateTime?srcByDate = null)
        {
            List <T> foundItems = new List <T>();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                if (srcById != 0)
                {
                    foundItems.Add(SearchTableById(srcById));
                }

                if (!string.IsNullOrEmpty(srcByName) || !string.IsNullOrWhiteSpace(srcByName))
                {
                    foreach (var item in SearchTableByName(srcByName))
                    {
                        foundItems.Add(item);
                    }
                }

                if (srcByDate != null)
                {
                    foreach (var item in SearchTableByDate((DateTime)srcByDate))
                    {
                        foundItems.Add(item);
                    }
                }
            }

            return(foundItems);
        }
コード例 #2
0
 //Deletes an item in the  database T Table
 public void DeleteTableItem(T item)
 {
     if (item != null)
     {
         using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
         {
             dbc.GetTable <T>().DeleteOnSubmit(item);
             dbc.SubmitChanges();
         }
     }
 }
コード例 #3
0
        //Logic to search Product by name
        public override List <Product> SearchTableByName(string name)
        {
            List <Product> products = new List <Product>();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                products = (from p in dbc.Products
                            where p.Name.Contains(name)
                            select p).ToList();
            }
            return(products);
        }
コード例 #4
0
        //Logic to search Product by id
        public override Product SearchTableById(int id)
        {
            Product product = new Product();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                product = (from p in dbc.Products
                           where p.Id == id
                           select p).Single();
            }
            return(product);
        }
コード例 #5
0
        //Logic to search BusinessPartnerType by name
        public override List <BusinessPartnerType> SearchTableByName(string name)
        {
            List <BusinessPartnerType> partnerTypes = new List <BusinessPartnerType>();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                partnerTypes = (from p in dbc.BusinessPartnerTypes
                                where p.TypeName.Contains(name)
                                select p).ToList();
            }
            return(partnerTypes);
        }
コード例 #6
0
        //Logic to search BusinessPartnerType by id
        public override BusinessPartnerType SearchTableById(int id)
        {
            BusinessPartnerType partnerType = new BusinessPartnerType();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                partnerType = (from p in dbc.BusinessPartnerTypes
                               where p.Id == id
                               select p).Single();
            }
            return(partnerType);
        }
コード例 #7
0
        //Logic to search order by date
        public override List <Order> SearchTableByDate(DateTime date)
        {
            List <Order> orders = new List <Order>();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                orders = (from o in dbc.Orders
                          where o.DocumentDate.Date.Equals(date.Date)
                          select o).ToList();
            }
            return(orders);
        }
コード例 #8
0
        //Searches an order by id/name/date and returns a list of matching orders

        //Logic to search order by id
        public override Order SearchTableById(int id)
        {
            Order order = new Order();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                order = (from o in dbc.Orders
                         where o.Id == id
                         select o).Single();
            }
            return(order);
        }
コード例 #9
0
        //Updates a product in the database
        public override void UpdateTableItem(int itemID, Product item)
        {
            if (item != null)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    var product = (from p in dbc.Products
                                   where p.Id == itemID
                                   select p).Single();
                    product.Name = item.Name;

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #10
0
        //Updates the BusinessPartnerType in the database
        public override void UpdateTableItem(int itemID, BusinessPartnerType item)
        {
            if (item != null)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    var bpt = (from p in dbc.BusinessPartnerTypes
                               where p.Id == itemID
                               select p).Single();
                    bpt.TypeName = item.TypeName;

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #11
0
        // Updates an InvoicedProduct in the database
        public override void UpdateTableItem(int itemID, InvoicedProduct item)
        {
            if (item != null)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    var invoicedProduct = (from ip in dbc.InvoicedProducts
                                           where ip.Id == itemID
                                           select ip).Single();
                    invoicedProduct.OrderId          = item.OrderId;
                    invoicedProduct.InvoicedQuantity = item.InvoicedQuantity;
                    invoicedProduct.InvoicePrice     = item.InvoicePrice;

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #12
0
        //Logic to search order by name
        public override List <Order> SearchTableByName(string name)
        {
            List <Order> orders = new List <Order>();

            using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
            {
                orders = (from o in dbc.Orders
                          where o.BusinessPartner.Name.Contains(name)
                          select o).ToList();
                if (orders.Count == 0)
                {
                    orders = (from o in dbc.Orders
                              where o.OrderInfo.Contains(name)
                              select o).ToList();
                }
            }
            return(orders);
        }
コード例 #13
0
        public void AddTo_ProductStock(List <InvoicedProduct> incomingProducts)
        {
            if (incomingProducts.Count() > 0)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    for (int i = 0; i < incomingProducts.Count(); i++)
                    {
                        var tempProductStockItem = (from ps in dbc.ProductStocks
                                                    where ps.ProductId == incomingProducts[i].ProductId
                                                    select ps).Single();
                        tempProductStockItem.Quantity += incomingProducts[i].InvoicedQuantity;
                        tempProductStockItem.Cost      = ProductPurchaseCostAmortisation(incomingProducts[i].InvoicePrice);
                    }

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #14
0
        public void RemoveFrom_ProductStock(List <InvoicedProduct> outgoingProducts)
        {
            if (outgoingProducts.Count() > 0)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    for (int i = 0; i < outgoingProducts.Count(); i++)
                    {
                        var tempProductStockItem = (from ps in dbc.ProductStocks
                                                    where ps.ProductId == outgoingProducts[i].ProductId
                                                    select ps).Single();
                        if (tempProductStockItem.Quantity >= outgoingProducts[i].InvoicedQuantity)
                        {
                            tempProductStockItem.Quantity -= outgoingProducts[i].InvoicedQuantity;
                        }
                    }

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #15
0
        public override void UpdateTableItem(int itemID, BusinessPartner item)
        {
            if (item != null)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    var bp = (from p in dbc.BusinessPartners
                              where p.Id == itemID
                              select p).Single();
                    bp.Name            = item.Name;
                    bp.LegalInfo       = item.LegalInfo;
                    bp.ContactInfo     = item.ContactInfo;
                    bp.DeliveryInfo    = item.DeliveryInfo;
                    bp.Type            = item.Type;
                    bp.PaymentTerms    = item.PaymentTerms;
                    bp.CustomPriceList = item.CustomPriceList;
                    bp.IsMasterPartner = item.IsMasterPartner;

                    dbc.SubmitChanges();
                }
            }
        }
コード例 #16
0
        //Updates the changes made to an order, in the Orders database table
        public override void UpdateTableItem(int itemID, Order item)
        {
            if (item != null)
            {
                using (ErpDataManagerDataContext dbc = new ErpDataManagerDataContext())
                {
                    var _order = (from o in dbc.Orders
                                  where o.Id == itemID
                                  select o).Single();
                    _order.OrderInfo    = item.OrderInfo;
                    _order.VendorId     = item.VendorId;
                    _order.CustomerId   = item.CustomerId;
                    _order.DocumentDate = item.DocumentDate;
                    _order.DeliveryDate = item.DeliveryDate;
                    _order.DueDate      = item.DueDate;
                    _order.IsOpen       = item.IsOpen;
                    _order.TaxRateId    = item.TaxRateId;
                    _order.Remarks      = item.Remarks;

                    dbc.SubmitChanges();
                }
            }
        }