コード例 #1
0
        public static List <DisbursementListDetails> ViewDetails(long listId)
        {
            List <DisbursementListDetails> disbursementListDetails = new List <DisbursementListDetails>();

            using (SqlConnection conn = new SqlConnection(Data.db_cfg))
            {
                conn.Open();

                string q = "SELECT * FROM DisbursementListDetails d, Inventory i WHERE d.itemId = i.itemId AND listId =" + listId;

                SqlCommand cmd = new SqlCommand(q, conn);

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Inventory i = new Inventory()
                    {
                        ItemId        = (long)reader["itemId"],
                        Description   = (string)reader["description"],
                        UnitOfMeasure = (string)reader["unitOfMeasure"]
                    };
                    DisbursementListDetails detail = new DisbursementListDetails
                    {
                        Quantity = (int)reader["quantity"],
                        Item     = i
                    };
                    disbursementListDetails.Add(detail);
                }
            }
            return(disbursementListDetails);
        }
コード例 #2
0
        public string GenerateDisbursementOfStockClerk(List <DisbursementController.Entry> entries)
        {
            if (entries == null || entries.Count == 0)
            {
                return("Failed");
            }

            HashSet <long> deptIds = new HashSet <long>();

            List <DisbursementList> disbursementLists = new List <DisbursementList>();

            entries.ForEach(e => deptIds.Add(e.deptId));

            foreach (var deptId in deptIds)
            {
                List <DisbursementListDetails> disbursementListDetails = new List <DisbursementListDetails>();

                foreach (var entry in entries)
                {
                    if (entry.deptId == deptId)
                    {
                        Inventory i = new Inventory()
                        {
                            ItemId = entry.itemId,
                        };
                        DisbursementListDetails dDets = new DisbursementListDetails()
                        {
                            Item     = i,
                            Quantity = entry.quantity
                        };

                        disbursementListDetails.Add(dDets);
                    }
                }

                DisbursementList d = new DisbursementList()
                {
                    Department = new Department()
                    {
                        DeptId = deptId,
                    },
                    DisbursementListDetails = disbursementListDetails,
                    date = DateTime.Now
                };

                disbursementLists.Add(d);
            }

            DisbursementListService.CreateDisbursementLists(disbursementLists);

            return("Success");
        }
コード例 #3
0
        public static void UpdateDetailById(long listId, DisbursementListDetails disbursementListDetails)
        {
            using (SqlConnection conn = new SqlConnection(Data.db_cfg))
            {
                conn.Open();


                string q = "UPDATE DisbursementListDetails SET quantity=" + disbursementListDetails.Quantity + " WHERE listId=" + listId + "AND itemId=" + disbursementListDetails.Item.ItemId;

                SqlCommand cmd = new SqlCommand(q, conn);
                cmd.ExecuteNonQuery();
            }
        }
コード例 #4
0
        public static void CreateDisbursementListDetails(long listId, DisbursementListDetails dDets)
        {
            using (SqlConnection conn = new SqlConnection(Data.db_cfg))
            {
                conn.Open();
                string q = @"INSERT INTO DisbursementListDetails (listId,itemId,quantity)" +
                           "VALUES (@listId, @itemId, @quantity)";

                Console.WriteLine(q);
                SqlCommand cmd = new SqlCommand(q, conn);

                cmd.Parameters.AddWithValue("@listId", listId);
                cmd.Parameters.AddWithValue("@itemId", dDets.Item.ItemId);
                cmd.Parameters.AddWithValue("@quantity", dDets.Quantity);
                cmd.ExecuteNonQuery();
            }
        }
コード例 #5
0
        public string UpdateDisbursementsOfClerk(DisburmentDTO dto)
        {
            foreach (var item in dto.Items)
            {
                Inventory i = new Inventory()
                {
                    ItemId = item.itemId
                };

                DisbursementListDetails disbursementDetails = new DisbursementListDetails()
                {
                    Quantity = item.quantity,
                    Item     = i
                };

                DisbursementListService.UpdateDisbursementListDetails(dto.ListId, disbursementDetails);
            }
            return("Success");
        }
コード例 #6
0
        public ActionResult UpdateDisbursementLists(long listId, long collectionPt, List <PerItem> items, string sessionId)
        {
            foreach (var item in items)
            {
                Inventory i = new Inventory()
                {
                    ItemId = item.itemId
                };
                DisbursementListDetails disbursementDetails = new DisbursementListDetails()
                {
                    Quantity = item.quantity,
                    Item     = i
                };
                DisbursementListService.UpdateDisbursementListDetails(listId, disbursementDetails);
            }


            return(Json(Url.Action("ViewAllDisbursements", "Disbursement", new { collectionPt = collectionPt, sessionId = sessionId })));
        }
コード例 #7
0
        public static void CreateStockCardFromDisburse(DisbursementListDetails disbursementDetails, DisbursementList disbursementList, int balance)
        {
            using (SqlConnection conn = new SqlConnection(Data.db_cfg))
            {
                conn.Open();

                string q = @"INSERT INTO StockCard (itemId,date,sourceType,sourceId,qty,balance)" +
                           "VALUES ('" + disbursementDetails.Item.ItemId +
                           "','" + disbursementList.date.Year +
                           "-" + disbursementList.date.Month +
                           "-" + disbursementList.date.Day +
                           " " + disbursementList.date.Hour +
                           ":" + disbursementList.date.Minute +
                           ":" + disbursementList.date.Second +
                           "','2','" + disbursementList.Department.DeptId +
                           "','- " + disbursementDetails.Quantity +
                           "','" + balance + "')";

                SqlCommand cmd = new SqlCommand(q, conn);
                cmd.ExecuteNonQuery();
            }
        }
コード例 #8
0
        // GET: DisbursementLists/Details/5
        public async Task <IActionResult> Details(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            List <RecordDetails>           rd     = b.GenerateDisbursementListDetails("ENGL");
            List <DisbursementListDetails> result = new List <DisbursementListDetails>();

            foreach (var item in rd)
            {
                DisbursementListDetails dlList = new DisbursementListDetails();

                dlList.ItemNumber = item.ItemNumber;
                //srList.ItemName = item.ItemNumberNavigation.ItemName;
                dlList.ItemName = _context.Catalogue.FirstOrDefault(x => x.ItemNumber == item.ItemNumber).ItemName;
                dlList.Quantity = item.Quantity;
                dlList.Remark   = item.Remark;

                result.Add(dlList);
            }
            return(View(result));
        }
コード例 #9
0
 public static void CreateStockCardFromDisburse(DisbursementListDetails disbursementDetails, DisbursementList disbursementList, int balance)
 {
     StockCardDAO.CreateStockCardFromDisburse(disbursementDetails, disbursementList, balance);
 }
コード例 #10
0
 public static void UpdateDisbursementListDetails(long listId, DisbursementListDetails disbursementListDetails)
 {
     DisbursementListDetailsDAO.UpdateDetailById(listId, disbursementListDetails);
 }
コード例 #11
0
        // GET: DisbursementLists/Details/5
        public async Task <IActionResult> Details(string id)
        {
            ADTeam5User user = await _userManager.GetUserAsync(HttpContext.User);

            List <string> identity = userCheck.checkUserIdentityAsync(user);
            int           userID   = user.WorkID;

            tempDisbursementListDetails = new List <DisbursementListDetails>();

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

            List <RecordDetails>           rd     = _context.RecordDetails.Where(x => x.Rrid == id).ToList();
            List <DisbursementListDetails> result = new List <DisbursementListDetails>();
            List <int> rowIDList = new List <int>();

            //viewbag for status check
            ViewBag.DisbursementListStatus = _context.DisbursementList.FirstOrDefault(x => x.Dlid == id).Status;

            //if pending delivery show temp disbursement list
            if (_context.DisbursementList.Find(id).Status == "Pending Delivery")
            {
                foreach (var q in tempDisbursementListDetails)
                {
                    rowIDList.Add(q.RowID);
                }
                int rowID = 1;
                foreach (var item in rd)
                {
                    if (item.Rrid == id)
                    {
                        DisbursementListDetails dlList = new DisbursementListDetails();
                        if (!rowIDList.Contains(rowID))
                        {
                            dlList.RowID             = rowID;
                            dlList.RDID              = item.Rdid;
                            dlList.ItemNumber        = item.ItemNumber;
                            dlList.ItemName          = _context.Catalogue.FirstOrDefault(x => x.ItemNumber == item.ItemNumber).ItemName;
                            dlList.Quantity          = item.Quantity;
                            dlList.QuantityDelivered = item.QuantityDelivered;
                            dlList.Remark            = item.Remark;

                            tempDisbursementListDetails.Add(dlList);
                        }
                    }
                    rowID++;
                }
                return(View(tempDisbursementListDetails));
            }
            else
            {
                foreach (var q in result)
                {
                    rowIDList.Add(q.RowID);
                }
                int rowID = 1;
                foreach (var item in rd)
                {
                    if (item.Rrid == id)
                    {
                        DisbursementListDetails dlList = new DisbursementListDetails();
                        if (!rowIDList.Contains(rowID))
                        {
                            dlList.RowID             = rowID;
                            dlList.RDID              = item.Rdid;
                            dlList.ItemNumber        = item.ItemNumber;
                            dlList.ItemName          = _context.Catalogue.FirstOrDefault(x => x.ItemNumber == item.ItemNumber).ItemName;
                            dlList.Quantity          = item.Quantity;
                            dlList.QuantityDelivered = item.QuantityDelivered;
                            dlList.Remark            = item.Remark;

                            result.Add(dlList);
                        }
                    }
                    rowID++;
                }
                return(View(result));
            }
        }
コード例 #12
0
        public ActionResult CreateDisbursementLists(List <Entry> entries, string sessionId)
        {
            List <long> deptIds = new List <long>();

            List <DisbursementList> disbursementLists = new List <DisbursementList>();

            if (entries != null)
            {
                foreach (var entry in entries)
                {
                    if (deptIds.Contains(entry.deptId))
                    {
                    }
                    else
                    {
                        deptIds.Add(entry.deptId);
                    }
                }
            }


            List <EmailNotification> notices = new List <EmailNotification>();



            foreach (var deptId in deptIds)
            {
                List <DisbursementListDetails> disbursementListDetails = new List <DisbursementListDetails>();
                Department dept = new Department()
                {
                    DeptId = deptId
                };
                DisbursementList d = new DisbursementList()
                {
                    Department = dept,
                    DisbursementListDetails = disbursementListDetails,
                    date = entries[0].collectionDate
                };

                string            repMail = RequisitionService.GetRep(d.Department.DeptId); //change to rep
                EmailNotification notice  = new EmailNotification();
                notice.ReceiverMailAddress = repMail;
                notice.CollectionDate      = d.date.ToString("dd/MM/yyyy");
                notices.Add(notice);

                foreach (var entry in entries)
                {
                    if (entry.deptId == deptId)
                    {
                        Inventory i = new Inventory()
                        {
                            ItemId = entry.itemId,
                        };
                        DisbursementListDetails dDets = new DisbursementListDetails()
                        {
                            Item     = i,
                            Quantity = entry.quantity
                        };

                        d.DisbursementListDetails.Add(dDets);
                    }
                }
                disbursementLists.Add(d);
            }
            DisbursementListService.CreateDisbursementLists(disbursementLists);
            Task.Run(() => {
                foreach (var notice in notices)
                {
                    emailService.SendMail(notice, EmailTrigger.ON_DISBURSEMENT_CREATION); //need to send to multiple reps
                }
            });


            return(Json(Url.Action("ViewAllDisbursements", "Disbursement", new { sessionId = sessionId })));
        }