コード例 #1
0
ファイル: StockRecordDAO.cs プロジェクト: SiciHan/SSIS
        //Willis
        public void UpdateStockRecord(int IdStoreClerk, List <int> IdDisbursementItem)
        {
            foreach (int x in IdDisbursementItem)
            {
                DisbursementItem disbursementItem = context.DisbursementItems
                                                    .Where(di => di.IdDisbursementItem == x)
                                                    .FirstOrDefault();

                Operation    operation    = context.Operations.Where(o => o.IdOperation == 1).FirstOrDefault();
                Item         item         = context.Items.Where(i => i.IdItem == disbursementItem.IdItem).FirstOrDefault();
                Employee     storeclerk   = context.Employees.Where(e => e.IdEmployee == IdStoreClerk).FirstOrDefault();
                Disbursement disbursement = context.Disbursements
                                            .Where(d => d.IdDisbursement == disbursementItem.IdDisbursement).FirstOrDefault();
                Department department = context.Departments
                                        .Where(dpt => dpt.CodeDepartment.Equals(disbursement.CodeDepartment)).FirstOrDefault();
                Supplier supplier = context.Suppliers.Where(s => s.CodeSupplier == item.CodeSupplier1).FirstOrDefault();

                StockRecord stockrecord = new StockRecord();
                stockrecord.Date         = DateTime.Now;
                stockrecord.IdDepartment = disbursement.CodeDepartment;
                stockrecord.Department   = department;
                stockrecord.IdOperation  = 1;
                stockrecord.Operation    = operation;
                stockrecord.IdItem       = disbursementItem.IdItem;
                stockrecord.Item         = item;
                stockrecord.IdSupplier   = item.CodeSupplier1;
                stockrecord.Supplier     = supplier;
                stockrecord.IdStoreClerk = IdStoreClerk;
                stockrecord.StoreClerk   = storeclerk;
                stockrecord.Unit         = disbursementItem.UnitIssued;
                context.StockRecords.Add(stockrecord);
                context.SaveChanges();
            }
        }
コード例 #2
0
ファイル: ItemDAO.cs プロジェクト: SiciHan/SSIS
        //Willis
        public void UpdateItem(List <int> IdDisbursementItem)
        {
            foreach (int x in IdDisbursementItem)
            {
                DisbursementItem disbursementItem = context.DisbursementItems
                                                    .Where(di => di.IdDisbursementItem == x)
                                                    .FirstOrDefault();

                Item items = context.Items.Where(i => i.IdItem == disbursementItem.IdItem).FirstOrDefault();

                if (items != null)
                {
                    if (items.StockUnit - disbursementItem.UnitIssued >= 0)
                    {
                        items.StockUnit = items.StockUnit - disbursementItem.UnitIssued;
                        context.SaveChanges();
                    }

                    /*if (items.AvailableUnit - disbursementItem.UnitIssued >= 0)
                     * {
                     *  items.AvailableUnit = items.AvailableUnit - disbursementItem.UnitIssued;
                     *  context.SaveChanges();
                     * }*/
                }
            }
        }
コード例 #3
0
        public PurchaseOrderDetail CreateOrAddAmount(Item i, PurchaseOrder po)
        {
            SSISContext context = new SSISContext();

            //item and po into pod

            PurchaseOrderDetail pod = context.PurchaseOrderDetails.OfType <PurchaseOrderDetail>().
                                      Where(x => x.Item.IdItem == i.IdItem && x.PurchaseOrder.IdPurchaseOrder == po.IdPurchaseOrder).FirstOrDefault();

            if (pod == null)
            {
                pod = new PurchaseOrderDetail
                {
                    IdItem          = i.IdItem,
                    IdPurchaseOrder = po.IdPurchaseOrder,
                    OrderUnit       = i.ReorderUnit,
                    DeliveredUnit   = 0,
                };
                context.PurchaseOrderDetails.Add(pod);
                context.SaveChanges();
            }
            else
            {
                pod.OrderUnit += i.ReorderUnit;
                context.SaveChanges();
            }
            context.Dispose();
            return(pod);
        }
コード例 #4
0
        public void Update(CollectionPoint cp)
        {
            CollectionPoint collectionPoint = context.CollectionPoints.OfType <CollectionPoint>().Where(x => x.IdCollectionPt == cp.IdCollectionPt).FirstOrDefault();

            collectionPoint = new CollectionPoint(cp);
            context.SaveChanges();
        }
コード例 #5
0
        //@SHutong
        internal void CreateRequisitionItem(int idEmployee, string itemName, int quantity)
        {
            RequisitionItem requisitionItem = new RequisitionItem();
            Requisition     requisition     = context.Requisitions.OfType <Requisition>().Where(x => x.IdEmployee == idEmployee && x.StatusCurrent.Label.Equals("Incomplete")).FirstOrDefault();
            Item            item            = context.Items.OfType <Item>().Where(x => x.Description.Equals(itemName)).FirstOrDefault();

            requisitionItem.Requisition = requisition;
            requisitionItem.Item        = item;
            requisitionItem.Unit        = quantity;
            context.RequisitionItems.Add(requisitionItem);
            context.SaveChanges();
        }
コード例 #6
0
ファイル: DepartmentDAO.cs プロジェクト: SiciHan/SSIS
        public bool UpdateCollectionPt(string codeDepartment, int idCollectionPt)
        {
            Department model = null;

            using (SSISContext db = new SSISContext())
            {
                model = db.Departments.OfType <Department>()
                        .Where(x => x.CodeDepartment == codeDepartment)
                        .FirstOrDefault();
                if (model == null)
                {
                    return(false);
                }
                CollectionPoint collectionPt = db.CollectionPoints.OfType <CollectionPoint>()
                                               .Where(x => x.IdCollectionPt == idCollectionPt)
                                               .FirstOrDefault();
                if (collectionPt == null)
                {
                    return(false);
                }
                model.IdCollectionPt = idCollectionPt;
                db.SaveChanges();
            }
            return(true);
        }
コード例 #7
0
ファイル: DisbursementDAO.cs プロジェクト: SiciHan/SSIS
        //Yinghuai
        public bool UpdateCollectionPt(int idDisbursement, int idCollectionPt)
        {
            Disbursement model = null;

            using (SSISContext db = new SSISContext())
            {
                model = db.Disbursements.OfType <Disbursement>()
                        .Where(x => x.IdDisbursement == idDisbursement)
                        .FirstOrDefault();
                if (model == null)
                {
                    return(false);
                }

/*                CollectionPoint collectionPt = db.CollectionPoints
 *                 .Include("CPClerks")
 *                 .OfType<CollectionPoint>()
 *                 .Where(x => x.IdCollectionPt == idCollectionPt)
 *                 .FirstOrDefault();
 *              if (collectionPt == null) return false;*/
                model.IdCollectionPt = idCollectionPt;
                //model.IdDisbursedBy = collectionPt.CPClerks.FirstOrDefault().IdStoreClerk;
                db.SaveChanges();
            }
            return(true);
        }
コード例 #8
0
ファイル: PurchaseOrderDAO.cs プロジェクト: SiciHan/SSIS
        //@Shutong
        public PurchaseOrder UpdateStatusToPending(int purchaseOrderID)
        {
            PurchaseOrder po = context.PurchaseOrders.OfType <PurchaseOrder>().Where(x => x.IdPurchaseOrder == purchaseOrderID).Include(c => c.Status).FirstOrDefault();

            po.Status    = context.Status.OfType <Status>().Where(x => x.Label.Equals("Pending")).FirstOrDefault();
            po.OrderDate = DateTime.Now;
            context.SaveChanges();
            return(po);
        }
コード例 #9
0
ファイル: DelegationDAO.cs プロジェクト: SiciHan/SSIS
 public void Create(Delegation d)
 {
     using (SSISContext context = new SSISContext())
     {
         context.Delegations.Add(d);
         context.SaveChanges();
     }
 }
コード例 #10
0
ファイル: DelegationDAO.cs プロジェクト: SiciHan/SSIS
        //private readonly SSISContext context1;

        //public DelegationDAO()
        //{
        //    this.context = new SSISContext();
        //}

        //@Shutong
        public Delegation DeactivateDelegationByDelegationId(int idDelegation)
        {
            Delegation d = context.Delegations.Where(x => x.IdDelegation == idDelegation).FirstOrDefault();
            Employee   e = context.Employees.Where(x => x.IdEmployee == d.IdEmployee).FirstOrDefault();

            e.Role = context.Roles.Where(x => x.Label.Contains("ActingHead")).FirstOrDefault();
            // set d. end date
            d.EndDate = DateTime.Now;
            // change idRole as well
            //Employee e = context.Employees.Where(x => x.Role.Label.Equals("ActingHead")).FirstOrDefault();
            //if (e != null)
            //{
            //    e.IdRole = 1;
            //}

            context.SaveChanges();
            return(d);
        }
コード例 #11
0
ファイル: DelegationDAO.cs プロジェクト: SiciHan/SSIS
 public void Delete(Delegation d)
 {
     using (SSISContext context = new SSISContext())
     {
         Delegation del = context.Delegations.OfType <Delegation>().Where(x => x.IdDelegation == d.IdDelegation).FirstOrDefault();
         context.Delegations.Remove(del);
         context.SaveChanges();
     }
 }
コード例 #12
0
        public List <NotificationChannel> FindAllNotificationsByIdReceiver(int idReceiver)
        {
            List <NotificationChannel> nclist = context.NotificationChannels.OfType <NotificationChannel>().Where(x => x.IdTo == idReceiver).Include(x => x.Notification).Include(x => x.From).OrderByDescending(x => x.Date).ToList();

/*            foreach(NotificationChannel nc in nclist)
 *          {
 *              nc.IsRead = true;
 *          }*/
            context.SaveChanges();
            return(nclist);
        }
コード例 #13
0
        internal int CreateNotification(String message)
        {
            Notification notif = new Notification()
            {
                Text = message
            };

            context.Notifications.Add(notif);
            context.SaveChanges();

            return(notif.IdNotification);
        }
コード例 #14
0
        //@Shutong
        public PurchaseOrderDetail DeletePOD(int id)
        {
            PurchaseOrderDetail pod = context.PurchaseOrderDetails.OfType <PurchaseOrderDetail>().
                                      Where(x => x.IdPOD == id).FirstOrDefault();

            if (pod != null)
            {
                context.PurchaseOrderDetails.Remove(pod);
                context.SaveChanges();
            }
            //check if the purchaseOrder contains 0 POD
            PurchaseOrder purchaseOrder = context.PurchaseOrders.OfType <PurchaseOrder>()
                                          .Where(x => x.IdPurchaseOrder == pod.IdPurchaseOrder).FirstOrDefault();

            if (purchaseOrder != null && (purchaseOrder.PurchaseOrderDetails == null || !purchaseOrder.PurchaseOrderDetails.Any()))
            {
                context.PurchaseOrders.Remove(purchaseOrder);
            }
            context.SaveChanges();
            return(pod);
        }
コード例 #15
0
ファイル: DisbursementDAO.cs プロジェクト: SiciHan/SSIS
        //Willis
        public List <int> CreateDisbursement(List <Retrieval> RetrievalItem)
        {
            List <int> PKDisbursement = new List <int>();
            // Get Department from RetrievalItem
            List <String> SelectedCodeDepartment = new List <String>();

            foreach (var ri in RetrievalItem)
            {
                if (!SelectedCodeDepartment.Any())
                {
                    SelectedCodeDepartment.Add(ri.CodeDepartment);
                }
                else if (!SelectedCodeDepartment.Contains(ri.CodeDepartment))
                {
                    SelectedCodeDepartment.Add(ri.CodeDepartment);
                }
            }

            foreach (var scd in SelectedCodeDepartment)
            {
                Department department = context.Departments
                                        .Where(d => d.CodeDepartment.Equals(scd))
                                        .FirstOrDefault();
                Status       status          = context.Status.Where(s => s.IdStatus == 8).FirstOrDefault();
                Disbursement NewDisbursement = new Disbursement();
                NewDisbursement.CodeDepartment = scd;
                NewDisbursement.Department     = department;
                NewDisbursement.IdStatus       = 8;
                NewDisbursement.Status         = status;
                NewDisbursement.Date           = DateTime.Now;
                context.Disbursements.Add(NewDisbursement);
                context.SaveChanges();

                // Get Id of Created Disbursement
                int pk = NewDisbursement.IdDisbursement;
                PKDisbursement.Add(pk);
            }

            return(PKDisbursement);
        }
コード例 #16
0
ファイル: EmployeeDAO.cs プロジェクト: SiciHan/SSIS
        //@Yu Shaohang
        public void DelegateEmployeeToActingRole(string name)
        {
            // Find the emp by empName--> change emp role to idRole=4
            Employee e = FindEmployeeByNameAndRole(name);

            //e.IdRole = 4;// set to idRole to 4
            e.Role = context.Roles.OfType <Role>().Where(x => x.Label.Equals("ActingHead")).FirstOrDefault();

            context.SaveChanges();
        }
コード例 #17
0
ファイル: DisbursementDAO.cs プロジェクト: SiciHan/SSIS
 //Yinghuai
 public bool AcknowledgeCollection(int idDisbursement, int IdCollectedBy)
 {
     using (SSISContext db = new SSISContext())
     {
         Disbursement disbursement = db.Disbursements.OfType <Disbursement>()
                                     .Where(x => x.IdDisbursement == idDisbursement)
                                     .FirstOrDefault();
         if (disbursement == null)
         {
             return(false);
         }
         disbursement.IdStatus      = 11;//Received
         disbursement.IdCollectedBy = IdCollectedBy;
         db.SaveChanges();
     }
     return(true);
 }
コード例 #18
0
ファイル: PurchaseOrderDAO.cs プロジェクト: SiciHan/SSIS
        //@Shutong
        public PurchaseOrder Create(string codeSupplier, int idStoreClerk)
        {
            SSISContext   context       = new SSISContext();
            PurchaseOrder purchaseOrder = new PurchaseOrder {
                StoreClerk   = context.Employees.OfType <Employee>().Where(x => x.IdEmployee == idStoreClerk).FirstOrDefault(),
                Supplier     = context.Suppliers.OfType <Supplier>().Where(x => x.CodeSupplier.Equals(codeSupplier)).FirstOrDefault(),
                Status       = context.Status.OfType <Status>().Where(x => x.Label.Equals("Incomplete")).FirstOrDefault(),
                ApprovedDate = DateTime.Parse("01/01/1900"),
                DeliverDate  = DateTime.Parse("01/01/1900"),
                OrderDate    = DateTime.Parse("01/01/1900")
            };

            context.PurchaseOrders.Add(purchaseOrder);
            context.SaveChanges();
            context.Dispose();
            return(purchaseOrder);
        }
コード例 #19
0
ファイル: RequisitionDAO.cs プロジェクト: SiciHan/SSIS
        //@Yu Shaohang
        public void UpdateApproveStatusAndRemarks(int idRequisition, string remarks)
        {
            Requisition r = FindRequisitionByRequisionId(idRequisition);

            r.ApprovedDate    = DateTime.Now;
            r.IdStatusCurrent = 3;
            r.HeadRemark      = remarks;
            DateTime saveNow = DateTime.Now;

            r.ApprovedDate = saveNow;
            context.SaveChanges();
        }
コード例 #20
0
ファイル: CategoryDAO.cs プロジェクト: SiciHan/SSIS
 public Category Create(Category category)
 {
     context.Categories.Add(category);
     context.SaveChanges();
     return(category);
 }
コード例 #21
0
        // Willis
        public List <int> CreateDisbursementItem(List <int> IdDisbursement, List <Retrieval> RetrievalItem)
        {
            // RetrievalItem Group by CodeDepartment, IdItem
            var Retrieval = RetrievalItem.GroupBy(x => new { x.IdItem, x.CodeDepartment })
                            .Select(y => new Retrieval
            {
                IdItem         = y.First().IdItem,
                StockUnit      = y.First().StockUnit,
                CodeDepartment = y.First().CodeDepartment,
                Unit           = y.Sum(z => z.Unit)
            }).ToList();

            List <int> IdDisbursementItem = new List <int>();

            // Get Disbursement with IdDisbursement
            foreach (int id in IdDisbursement)
            {
                Disbursement disbursement = context.Disbursements
                                            .Where(x => x.IdDisbursement == id)
                                            .FirstOrDefault();

                string DptCode = disbursement.CodeDepartment;
                // Create DisbursementItem List using Retrieval with CodeDepartment equals DptCode
                var RequestedItemByDept = Retrieval.Where(ri => ri.CodeDepartment.Equals(DptCode))
                                          .OrderBy(ri => ri.ApprovedDate)
                                          .ToList();

                // Status of "preparing"
                Status status = context.Status.Where(s => s.IdStatus == 8).FirstOrDefault();
                foreach (var ribd in RequestedItemByDept)
                {
                    Item items = context.Items.Where(i => i.IdItem == ribd.IdItem).FirstOrDefault();
                    Debug.WriteLine(ribd.IdItem);

                    DisbursementItem NewDisbursementItem = new DisbursementItem();
                    NewDisbursementItem.IdDisbursement = id;
                    NewDisbursementItem.Disbursement   = disbursement;
                    NewDisbursementItem.IdItem         = ribd.IdItem;
                    NewDisbursementItem.Item           = items;
                    NewDisbursementItem.IdStatus       = 8;
                    NewDisbursementItem.Status         = status;
                    NewDisbursementItem.UnitRequested  = ribd.Unit;
                    NewDisbursementItem.UnitIssued     = ribd.Unit;

                    // If stockunit is less that request unit, it will update once become "prepared"

                    /*if (ribd.StockUnit < ribd.Unit)
                     * {
                     *  NewDisbursementItem.UnitRequested = ribd.StockUnit;
                     *  NewDisbursementItem.UnitIssued = ribd.StockUnit;
                     * }
                     * else
                     * {
                     *  NewDisbursementItem.UnitRequested = ribd.Unit;
                     *  NewDisbursementItem.UnitIssued = ribd.Unit;
                     * }*/

                    context.DisbursementItems.Add(NewDisbursementItem);
                    context.SaveChanges();

                    // Get Id of Created DisbursementItem
                    int pk = NewDisbursementItem.IdDisbursementItem;
                    IdDisbursementItem.Add(pk);
                }
            }

            return(IdDisbursementItem);
        }