コード例 #1
0
 public bool CheckIfExistingActiveOrder(int vendorID)
 {
     using (var context = new ERaceingSystemContext())
     {
         var active = false;
         IEnumerable <OrderViewModel> results = null;
         results = from x in context.Orders
                   where x.VendorID == vendorID
                   orderby x.OrderID
                   select new OrderViewModel
         {
             OrderID     = x.OrderID,
             OrderNumber = x.OrderNumber,
             Comment     = x.Comment,
             SubTotal    = x.SubTotal,
             Tax         = x.TaxGST,
             Total       = x.TaxGST + x.SubTotal
         };
         foreach (OrderViewModel item in results)
         {
             if (item.OrderNumber == null)
             {
                 active = true;
             }
         }
         if (active)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
コード例 #2
0
        public List <InventoryByVendorByCatagoryViewModel> ListCategoryByVendor(int vendorID)
        {
            using (var context = new ERaceingSystemContext())
            {
                IEnumerable <InventoryByVendorByCatagoryViewModel> results = null;
                results = from x in context.VendorCatalogs
                          where x.VendorID.Equals(vendorID)
                          group x by new { x.Product.Category } into categorytemp
                    select new InventoryByVendorByCatagoryViewModel
                {
                    Description = categorytemp.Key.Category.Description,
                    Items       = from y in context.VendorCatalogs
                                  where y.Product.CategoryID.Equals(categorytemp.Key.Category.CategoryID) && y.VendorID.Equals(vendorID)

                                  select new InventoryViewModel
                    {
                        ProductID       = y.ProductID,
                        ItemName        = y.Product.ItemName,
                        ReOrderLevel    = y.Product.ReOrderLevel,
                        QuantityOnHand  = y.Product.QuantityOnHand,
                        QuantityOnOrder = y.Product.QuantityOnOrder,
                        OrderUnitType   = y.OrderUnitType,
                        OrderUnitSize   = y.OrderUnitSize
                    }
                };
                return(results.ToList());
            }
        }
コード例 #3
0
 public List <DateTime> DateList()
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Races
                       select x.RaceDate;
         return(results.ToList());
     }
 }
コード例 #4
0
        public void SavePurchaseOrder(int vendorId, OrderViewModel order, List <OrderDetailsViewModel> orderDetails)
        {
            Order       argOrder       = null;
            OrderDetail argOrderDetail = null;
            int         orderId        = order.OrderID;

            using (var context = new ERaceingSystemContext())
            {
                List <OrderDetail> orderDetailsOld = (from x in context.OrderDetails
                                                      where x.OrderID == orderId
                                                      select x).ToList();

                Order exists = (from x in context.Orders
                                where x.OrderID == orderId
                                select x).FirstOrDefault();
                if (exists == null)
                {
                    argOrder            = new Order();
                    argOrder.VendorID   = vendorId;
                    argOrder.EmployeeID = 20;
                    argOrder.SubTotal   = order.SubTotal;
                    argOrder.TaxGST     = order.Tax;
                    context.Orders.Add(argOrder);
                    context.SaveChanges();
                    orderId = argOrder.OrderID;
                }
                else
                {
                    foreach (OrderDetail item in orderDetailsOld)
                    {
                        context.OrderDetails.Remove(item);
                    }
                    argOrder            = exists;
                    argOrder.EmployeeID = 20;
                    argOrder.SubTotal   = order.SubTotal;
                    argOrder.TaxGST     = order.Tax;

                    context.SaveChanges();
                }



                foreach (OrderDetailsViewModel item in orderDetails)
                {
                    argOrderDetail               = new OrderDetail();
                    argOrderDetail.OrderID       = orderId;
                    argOrderDetail.ProductID     = item.ProductId;
                    argOrderDetail.Quantity      = item.Quantity;
                    argOrderDetail.OrderUnitSize = item.OrderUnitSize;
                    argOrderDetail.Cost          = item.UnitCost;
                    context.OrderDetails.Add(argOrderDetail);
                }

                context.SaveChanges();
            }
        }
コード例 #5
0
        public InvoiceViewModel Add_Racer(RosterViewModel roster, string employeeName)
        {
            using (var context = new ERaceingSystemContext())
            {
                decimal rentalFee = (from x in context.Cars
                                     where x.CarID == roster.CarID
                                     select x.CarClass.RaceRentalFee).FirstOrDefault();
                decimal subTotal = roster.RaceFee + rentalFee;
                decimal GST      = decimal.Multiply(subTotal, (decimal)0.05);

                int?employeeID = (from x in context.AspNetUsers
                                  where x.UserName == employeeName
                                  select x.EmployeeId).FirstOrDefault();
                Invoice invoice = new Invoice()
                {
                    EmployeeID  = (int)employeeID,
                    InvoiceDate = DateTime.Now,
                    SubTotal    = subTotal,
                    GST         = GST,
                    Total       = decimal.Add(subTotal, GST)
                };
                context.Invoices.Add(invoice);

                RaceDetail info = new RaceDetail()
                {
                    InvoiceID = invoice.InvoiceID,
                    RaceID    = roster.RaceID,
                    MemberID  = roster.MemberID,
                    RaceFee   = roster.RaceFee,
                    RentalFee = rentalFee,
                };
                if (roster.CarID != 0)
                {
                    var fee = (from x in context.Cars
                               where x.CarID == roster.CarID
                               select x.CarClass.RaceRentalFee).FirstOrDefault();
                    info.RentalFee = fee;
                    info.CarID     = roster.CarID;
                }
                context.RaceDetails.Add(info);

                context.SaveChanges();
                InvoiceViewModel createdInvoice = new InvoiceViewModel()
                {
                    InvoiceID  = invoice.InvoiceID,
                    EmployeeID = (int)employeeID,
                    Subtotal   = invoice.SubTotal,
                    GST        = invoice.GST,
                    Total      = decimal.Add(invoice.SubTotal, invoice.GST)
                };
                return(createdInvoice);
            }
        }
コード例 #6
0
        public decimal GetProductUnitCost(int productId)
        {
            decimal results = 0;

            using (var context = new ERaceingSystemContext())
            {
                results = (from x in context.VendorCatalogs
                           where x.ProductID == productId
                           select x.OrderUnitCost).FirstOrDefault();
            }
            return(results);
        }
コード例 #7
0
 public List <FeesViewModel> Fees_List()
 {
     using (var context = new ERaceingSystemContext()){
         var results = from x in context.RaceFees
                       select new FeesViewModel
         {
             RaceFeeID = x.RaceFeeID,
             RaceFee   = x.Fee
         };
         return(results.ToList());
     }
 }
コード例 #8
0
        public decimal GetProductSellingPrice(int productId)
        {
            decimal results = 0;

            using (var context = new ERaceingSystemContext())
            {
                results = (from x in context.Products
                           where x.ProductID == productId
                           select x.ItemPrice).FirstOrDefault();
            }
            return(results);
        }
コード例 #9
0
 public List <CategoryDDViewModel> Category_List()
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Categories
                       select new CategoryDDViewModel
         {
             CategoryId  = x.CategoryID,
             Description = x.Description
         };
         return(results.OrderBy(x => x.Description).ToList());
     }
 }
コード例 #10
0
 public List <PenaltiesViewModel> Penalties_List()
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.RacePenalties
                       select new PenaltiesViewModel
         {
             PenaltyID   = x.PenaltyID,
             Description = x.Description
         };
         return(results.ToList());
     }
 }
コード例 #11
0
 public RacerCountViewModel Racer_Count(RosterViewModel roster)
 {
     using (var context = new ERaceingSystemContext())
     {
         var maxRacers = (from x in context.Races
                          where x.RaceID == roster.RaceID
                          select new RacerCountViewModel
         {
             Max = x.NumberOfCars,
             Current = (x.RaceDetails).Count()
         }).FirstOrDefault();
         return(maxRacers);
     }
 }
コード例 #12
0
 public List <CarClassViewModel> CarClasses_List(int raceId)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.CarClasses
                       where x.CertificationLevel == (from y in context.Races where y.RaceID == raceId select y.CertificationLevel).FirstOrDefault()
                       select new CarClassViewModel
         {
             CarClassID   = x.CarClassID,
             CarClassName = x.CarClassName
         };
         return(results.ToList());
     }
 }
コード例 #13
0
 public List <ProductViewModel> Product_List(int categoryId)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Products
                       where x.CategoryID == categoryId
                       select new ProductViewModel
         {
             ProductID = x.ProductID,
             ItemName  = x.ItemName
         };
         return(results.ToList());
     }
 }
コード例 #14
0
 public List <VendorViewModel> ListVendors()
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Vendors
                       select new VendorViewModel
         {
             VendorID   = x.VendorID,
             VendorName = x.Name,
             Contact    = x.Contact,
             Phone      = x.Phone
         };
         return(results.ToList());
     }
 }
コード例 #15
0
        public void Edit_Results(List <ResultsViewModel> results)
        {
            int raceId = results[0].RaceID;

            using (var context = new ERaceingSystemContext())
            {
                List <RaceDetail> updatedResults = (from x in context.RaceDetails
                                                    where x.RaceID == raceId
                                                    select x).ToList();
                for (var index = 0; index < results.Count; index++)
                {
                    if (results[index].PenaltyID > 0)
                    {
                        if (results[index].PenaltyID == 4)
                        {
                            updatedResults[index].RunTime = null;
                        }
                    }
                    if (results[index].PenaltyID != 4)
                    {
                        updatedResults[index].RunTime = results[index].RunTime;
                    }

                    updatedResults[index].PenaltyID = results[index].PenaltyID;
                    if (results[index].PenaltyID == 0)
                    {
                        updatedResults[index].PenaltyID = null;
                    }
                }
                List <RaceDetail> placedResults = updatedResults.OrderBy(e => e.RunTime).ToList();

                int place = 1;
                foreach (RaceDetail result in placedResults)
                {
                    if (result.PenaltyID != 4)
                    {
                        result.Place = place;
                        place++;
                    }
                    else
                    {
                        result.Place = null;
                    }
                }

                context.SaveChanges();
            }
        }
コード例 #16
0
 public List <InvoiceDetailsViewModel> Product_Selected(int productId)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Products
                       where x.ProductID == productId
                       select new InvoiceDetailsViewModel
         {
             ProductID      = x.ProductID,
             ItemName       = x.ItemName,
             Price          = x.ItemPrice,
             RestockCharge  = x.ReStockCharge,
             QuantityOnHand = x.QuantityOnHand
         };
         return(results.ToList());
     }
 }
コード例 #17
0
 public List <ScheduleViewModel> Schedules_List(DateTime day)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.Races
                       where x.RaceDate.Month == day.Month && x.RaceDate.Year == day.Year && x.RaceDate.Day == day.Day
                       select new ScheduleViewModel
         {
             RaceID      = x.RaceID,
             Time        = x.RaceDate,
             Competition = (x.Certification.Description + " - " + x.Comment),
             Run         = x.Run,
             Drivers     = x.RaceDetails.Count()
         };
         return(results.ToList());
     }
 }
コード例 #18
0
        public VendorViewModel GetVendorByID(int vendorID)
        {
            using (var context = new ERaceingSystemContext())
            {
                var results = from x in context.Vendors
                              where x.VendorID == vendorID
                              select new VendorViewModel

                {
                    VendorID   = x.VendorID,
                    VendorName = x.Name,
                    Contact    = x.Contact,
                    Phone      = x.Phone
                };
                return(results.FirstOrDefault());
            }
        }
コード例 #19
0
        public List <RosterViewModel> Roster_List(int raceId)
        {
            List <RosterViewModel> result;

            using (var context = new ERaceingSystemContext())
            {
                var results = from x in context.RaceDetails
                              where x.RaceID == raceId
                              select new RosterViewModel
                {
                    RaceDetailID      = x.RaceDetailID,
                    RaceID            = x.RaceID,
                    MemberID          = x.MemberID,
                    Name              = (x.Member.FirstName + " " + x.Member.LastName),
                    RaceDetailComment = x.Comment,
                    RaceFee           = x.RaceFee,
                    RentalFee         = x.RentalFee,
                    Refund            = x.Refund,
                    RefundReason      = x.RefundReason,
                    CarClassID        = x.Car.CarClassID,
                    CarClassName      = x.Car.CarClass.CarClassName,
                    CarID             = x.Car.CarID,
                    SerialNumber      = x.Car.SerialNumber,
                    Place             = x.Place
                };
                result = results.ToList();
            }

            if (result.Count < 1)
            {
                RosterViewModel blank = new RosterViewModel()
                {
                    RaceDetailID      = 0,
                    RaceID            = raceId,
                    MemberID          = 0,
                    Name              = " ",
                    RaceDetailComment = " ",
                    RaceFee           = 0,
                    RentalFee         = 0,
                    Refund            = false,
                    RefundReason      = " "
                };
                result.Add(blank);
            }
            return(result);
        }
コード例 #20
0
 public List <ResultsViewModel> Results_List(int raceId)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.RaceDetails
                       where x.RaceID == raceId
                       select new ResultsViewModel
         {
             RaceDetailID = x.RaceDetailID,
             RaceID       = x.RaceID,
             Name         = (x.Member.FirstName + " " + x.Member.LastName),
             Place        = x.Place,
             RunTime      = x.RunTime,
             PenaltyID    = x.PenaltyID
         };
         return(results.ToList());
     }
 }
コード例 #21
0
 public List <InvoiceDetailsViewModel> Invoice_List(int invoiceId)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from y in context.InvoiceDetails
                       where y.InvoiceID == invoiceId
                       select new InvoiceDetailsViewModel
         {
             Category      = y.Product.Category.Description,
             ProductID     = y.ProductID,
             ItemName      = y.Product.ItemName,
             Quantity      = y.Quantity,
             Price         = y.Price,
             Amount        = (decimal)(y.Quantity * y.Price),
             RestockCharge = y.Product.ReStockCharge
         };
         return(results.ToList());
     }
 }
コード例 #22
0
 public OrderViewModel GetOrder(int vendorID)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = (from x in context.Orders
                        where x.VendorID == vendorID && x.OrderNumber == null
                        orderby x.OrderID
                        select new OrderViewModel
         {
             OrderID = x.OrderID,
             OrderNumber = x.OrderNumber,
             Comment = x.Comment,
             SubTotal = x.SubTotal,
             Tax = x.TaxGST,
             Total = x.TaxGST + x.SubTotal
         }).FirstOrDefault();
         return(results);
     }
 }
コード例 #23
0
        public int Purchase(InvoiceViewModel currentInvoice, string employeeName)
        {
            using (var context = new ERaceingSystemContext())
            {
                int?employeeID = (from x in context.AspNetUsers
                                  where x.UserName == employeeName
                                  select x.EmployeeId).FirstOrDefault();

                ICollection <InvoiceDetail> list = new List <InvoiceDetail>();

                foreach (var item in currentInvoice.Products)
                {
                    var result = (from x in context.Products
                                  where x.ProductID == item.ProductID
                                  select x).First();

                    result.QuantityOnHand = result.QuantityOnHand - item.Quantity;

                    var invoiceProducts = new InvoiceDetail
                    {
                        ProductID = item.ProductID,
                        Quantity  = item.Quantity,
                        Price     = item.Price
                    };
                    list.Add(invoiceProducts);
                }

                Invoice invoice = new Invoice
                {
                    InvoiceDate    = currentInvoice.InvoiceDate,
                    EmployeeID     = (int)employeeID,
                    SubTotal       = currentInvoice.Subtotal,
                    GST            = currentInvoice.GST,
                    Total          = currentInvoice.Total,
                    InvoiceDetails = list
                };
                context.Invoices.Add(invoice);
                context.SaveChanges();
                var invoiceId = invoice.InvoiceID;
                return(invoiceId);
            }
        }
コード例 #24
0
 public List <OrderDetailsViewModel> GetOrderDetails(int vendorID)
 {
     using (var context = new ERaceingSystemContext())
     {
         var results = from x in context.OrderDetails
                       where x.Order.VendorID.Equals(vendorID) && x.Order.OrderNumber.Equals(null)
                       select new OrderDetailsViewModel
         {
             OrderDetailID = x.OrderDetailID,
             ProductId     = x.ProductID,
             ItemName      = x.Product.ItemName,
             Quantity      = x.Quantity,
             OrderUnitSize = x.OrderUnitSize,
             UnitCost      = Decimal.Round(x.Cost, 2),
             ItemCost      = (x.Cost / x.OrderUnitSize),
             ExtendedCost  = (x.Cost * x.Quantity)
         };
         return(results.ToList());
     }
 }
コード例 #25
0
        public List <CarViewModel> Cars_List(int classID, int raceID, int currentCarID)
        {
            List <CarViewModel> finalCarList = null;

            using (var context = new ERaceingSystemContext())
            {
                var results = from x in context.Cars
                              where x.CarClassID == classID
                              select new CarViewModel
                {
                    CarID        = x.CarID,
                    SerialNumber = x.SerialNumber
                };
                var reject = (from x in context.RaceDetails
                              where x.RaceID == raceID
                              select new CarViewModel
                {
                    CarID = ((int)x.CarID),
                    SerialNumber = (from y in context.Cars where y.CarID == x.CarID select y.SerialNumber).FirstOrDefault()
                });
                var filteredList = results.Except(reject);

                finalCarList = filteredList.ToList();
                if (currentCarID != 0)
                {
                    var currentCar = (from x in context.Cars
                                      where x.CarID == currentCarID
                                      select new CarViewModel
                    {
                        CarID = currentCarID,
                        SerialNumber = x.SerialNumber
                    }).FirstOrDefault();
                    finalCarList.Insert(0, currentCar);
                }



                return(finalCarList);
            }
        }
コード例 #26
0
        public List <MemberViewModel> Members_List(int raceID)
        {
            using (var context = new ERaceingSystemContext())
            {
                var results = from x in context.Members
                              where x.CertificationLevel == (from y in context.Races where y.RaceID == raceID select y.CertificationLevel).FirstOrDefault()
                              select new MemberViewModel
                {
                    MemberID   = x.MemberID,
                    MemberName = (x.FirstName + " " + x.LastName)
                };
                var reject = from x in context.RaceDetails
                             where x.RaceID == raceID
                             select new MemberViewModel
                {
                    MemberID   = x.MemberID,
                    MemberName = (x.Member.FirstName + " " + x.Member.LastName)
                };

                var filteredList = results.Except(reject);
                return(filteredList.ToList());
            }
        }
コード例 #27
0
        public void Edit_Roster(RosterViewModel roster)
        {
            using (var context = new ERaceingSystemContext())
            {
                RaceDetail oldRaceDetail = (from x in context.RaceDetails
                                            where x.RaceDetailID == roster.RaceDetailID
                                            select x).FirstOrDefault();
                if (roster.CarID != 0)
                {
                    var fee = (from x in context.Cars
                               where x.CarID == roster.CarID
                               select x.CarClass.RaceRentalFee).SingleOrDefault();
                    oldRaceDetail.RentalFee = fee;
                }

                oldRaceDetail.CarID        = roster.CarID;
                oldRaceDetail.Comment      = roster.RaceDetailComment;
                oldRaceDetail.RefundReason = roster.RefundReason;
                oldRaceDetail.Refund       = roster.Refund;

                context.SaveChanges();
            }
        }
コード例 #28
0
        public void DeletePurchaseOrder(int vendorId, OrderViewModel order, List <OrderDetailsViewModel> orderDetail)
        {
            int orderId = order.OrderID;

            using (var context = new ERaceingSystemContext())
            {
                List <OrderDetail> orderDetailsOld = (from x in context.OrderDetails
                                                      where x.OrderID == order.OrderID
                                                      select x).ToList();
                foreach (OrderDetail item in orderDetailsOld)
                {
                    context.OrderDetails.Remove(item);
                }
                Order oldOrder = (from x in context.Orders
                                  where x.OrderID == order.OrderID
                                  select x).FirstOrDefault();
                if (oldOrder != null)
                {
                    context.Orders.Remove(oldOrder);
                }

                context.SaveChanges();
            }
        }
コード例 #29
0
        public int Refund(InvoiceViewModel currentInvoice, string employeeName)
        {
            using (var context = new ERaceingSystemContext())
            {
                ICollection <InvoiceDetail> list = new List <InvoiceDetail>();

                int?employeeID = (from x in context.AspNetUsers
                                  where x.UserName == employeeName
                                  select x.EmployeeId).FirstOrDefault();

                var originalInvoice = (from x in context.Invoices
                                       where x.InvoiceID == currentInvoice.InvoiceID
                                       select x).First();

                foreach (var item in currentInvoice.Products)
                {
                    var exist = (from x in context.StoreRefunds
                                 where x.OriginalInvoiceID == currentInvoice.InvoiceID &&
                                 x.ProductID == item.ProductID
                                 select x);

                    if (exist.Count() > 0)
                    {
                        throw new Exception("The item(s) were previously refunded. You can not refund an item again.");
                    }

                    var result = (from x in context.Products
                                  where x.ProductID == item.ProductID
                                  select x).First();

                    result.QuantityOnHand = result.QuantityOnHand + item.Quantity;

                    var invoiceProducts = new InvoiceDetail
                    {
                        ProductID = item.ProductID,
                        Quantity  = item.Quantity,
                        Price     = item.Price
                    };
                    list.Add(invoiceProducts);
                }

                Invoice refundInvoice = new Invoice
                {
                    InvoiceDate    = currentInvoice.InvoiceDate,
                    EmployeeID     = (int)employeeID,
                    SubTotal       = currentInvoice.Subtotal,
                    GST            = currentInvoice.GST,
                    Total          = currentInvoice.Total,
                    InvoiceDetails = list
                };

                foreach (var item in currentInvoice.Products)
                {
                    StoreRefund refund = new StoreRefund
                    {
                        ProductID         = item.ProductID,
                        OriginalInvoiceID = item.InvoiceID,
                        Reason            = item.RefundReason,
                        OriginalInvoice   = originalInvoice,
                        RefundInvoice     = refundInvoice
                    };
                    context.StoreRefunds.Add(refund);
                }
                ;
                context.SaveChanges();
                return(refundInvoice.InvoiceID);
            }
            //throw new NotImplementedException("Refund not implemented.");
        }