コード例 #1
0
        public JsonResult ViewDisbursement(int staffId)
        {
            StationeryDisbursementEF stationeryDisbursement = rndService.FindDisbursementByStatusAndStaffId(staffId, "Disbursed");
            List <StationeryDisbursementDetailsEF>        stationeryDisbursementDetails = rndService.FindDisbursementDetailsByDisbursementId(stationeryDisbursement.DisbursementId);
            List <MobileStationeryDisbursementDetailsDTO> detailsDTO = new List <MobileStationeryDisbursementDetailsDTO>();

            foreach (var item in stationeryDisbursementDetails)
            {
                detailsDTO.Add(new MobileStationeryDisbursementDetailsDTO
                {
                    DisbursementDetailsId = item.DisbursementDetailsId,
                    DisbursementId        = item.DisbursementId,
                    ItemCode          = item.ItemCode,
                    Stock             = item.Stock,
                    RequestQuantity   = item.RequestQuantity,
                    RetrievedQuantity = item.RetrievedQuantity,
                    DisbursedQuantity = item.DisbursedQuantity
                }
                               );
            }

            MobileDisbursementItemDTO disbursementInfo = new MobileDisbursementItemDTO
            {
                DisbursementDetails = detailsDTO,
                DisbursementId      = stationeryDisbursement.DisbursementId,
                ClerkId             = stationeryDisbursement.StoreClerk.StaffId
            };


            return(Json(disbursementInfo, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        // Get Department with active disbursements
        public JsonResult GetActiveDepartments()
        {
            MobileDisbursementItemDTO        disbursementInfo    = null;
            List <StationeryDisbursementEF>  activeDisbursements = rndService.FindDisbursementsByStatus("Retrieved");
            List <MobileActiveDepartmentDTO> activeDepartments   = new List <MobileActiveDepartmentDTO>();

            foreach (var item in activeDisbursements)
            {
                activeDepartments.Add(
                    new MobileActiveDepartmentDTO
                {
                    DisbursementId = item.DisbursementId,
                    DepartmentCode = item.DepartmentCode,
                    DepartmentName = item.Department.DepartmentName
                }
                    );
            }
            if (activeDepartments.Count > 0)
            {
                List <StationeryDisbursementDetailsEF>        details    = rndService.FindDisbursementDetailsByDisbursementId(activeDepartments[0].DisbursementId);
                List <MobileStationeryDisbursementDetailsDTO> detailsDTO = new List <MobileStationeryDisbursementDetailsDTO>();
                foreach (var item in details)
                {
                    detailsDTO.Add(new MobileStationeryDisbursementDetailsDTO
                    {
                        DisbursementDetailsId = item.DisbursementDetailsId,
                        DisbursementId        = item.DisbursementId,
                        ItemCode          = item.ItemCode,
                        Stock             = item.Stock,
                        RequestQuantity   = item.RequestQuantity,
                        RetrievedQuantity = item.RetrievedQuantity,
                        DisbursedQuantity = item.DisbursedQuantity,
                    }
                                   );
                }

                List <StaffEF>        deptStaff    = staffService.FindAllEmployeeByDepartmentCode(activeDepartments[0].DepartmentCode);
                List <MobileStaffDTO> deptStaffDTO = new List <MobileStaffDTO>();
                foreach (var staff in deptStaff)
                {
                    deptStaffDTO.Add(new MobileStaffDTO
                    {
                        Name    = staff.Name,
                        StaffId = staff.StaffId
                    }
                                     );
                }
                disbursementInfo = new MobileDisbursementItemDTO
                {
                    ActiveDepartments   = activeDepartments,
                    DepartmentStaff     = deptStaffDTO,
                    DisbursementDetails = detailsDTO,
                    CollectionRepId     = (int)activeDisbursements[0].CollectionRepId
                };
            }

            return(Json(disbursementInfo, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        //Get disbursement details from android
        public JsonResult SetDisbursement(MobileDisbursementItemDTO mobileDisbursementItem)
        {
            List <StationeryDisbursementDetailsEF> details = new List <StationeryDisbursementDetailsEF>();

            foreach (var item in mobileDisbursementItem.DisbursementDetails)
            {
                details.Add(new StationeryDisbursementDetailsEF
                {
                    DisbursementId        = item.DisbursementId,
                    DisbursementDetailsId = item.DisbursementDetailsId,
                    ItemCode = item.ItemCode,
                    StationeryDisbursement = rndService.FindDisbursementById(item.DisbursementId),
                    Stock             = item.Stock,
                    RequestQuantity   = item.RequestQuantity,
                    DisbursedQuantity = item.DisbursedQuantity,
                    RetrievedQuantity = item.RetrievedQuantity
                });
            }

            int disbursementId  = mobileDisbursementItem.DisbursementId;
            int collectionRepId = mobileDisbursementItem.CollectionRepId;
            int storeClerkId    = mobileDisbursementItem.ClerkId;

            // update disbursement details' Disbursed Quantity and disbursement status to disbursed
            rndService.UpdateDisbursedQuantities(details, disbursementId, collectionRepId, storeClerkId);

            // update request details
            rndService.UpdateRequestAfterDisbursement(details, disbursementId);

            // log any stock transaction (damaged goods) - compare retrievedQty with disbursedqty
            stockService.LogTransactionsForActualDisbursement(disbursementId);

            // email collection rep for acknowledgement of disbursement
            string collectionRepEmail = staffService.FindStaffById(collectionRepId).Email;
            string subject            = "Disbursement #" + disbursementId + " : Request for Acknowledgement";
            string body = "Disbursement #" + disbursementId + " has been disbursed. Please click " +
                          "<a href='http://localhost/StationeryStore/ViewDisbursement/ViewDisbursement/?disbursementId=" + disbursementId + "'>" +
                          "here</a> to view the details of the disbursement and acknowledge receipt of stationery item(s).";

            Email.SendEmail(collectionRepEmail, subject, body);

            return(Json(new { status = "Received Disbursement" }));
        }
コード例 #4
0
        // Send disbursement details to android
        public JsonResult GetDepartmentDisbursement(int disbursementId)
        {
            //Get Departments with active disbursements
            List <StationeryDisbursementEF>  activeDisbursements = rndService.FindDisbursementsByStatus("Retrieved");
            List <MobileActiveDepartmentDTO> activeDepartments   = new List <MobileActiveDepartmentDTO>();

            foreach (var item in activeDisbursements)
            {
                activeDepartments.Add(
                    new MobileActiveDepartmentDTO
                {
                    DisbursementId = item.DisbursementId,
                    DepartmentCode = item.DepartmentCode,
                    DepartmentName = item.Department.DepartmentName
                }
                    );
            }

            //Get items in the disbursement for the department
            //StationeryDisbursementDetailsEF stationeryDisbursement = rndService.FindDisbursementByDepartmentCode(departmentId);
            List <StationeryDisbursementDetailsEF>        details    = rndService.FindDisbursementDetailsByDisbursementId(disbursementId);
            List <MobileStationeryDisbursementDetailsDTO> detailsDTO = new List <MobileStationeryDisbursementDetailsDTO>();

            foreach (var item in details)
            {
                detailsDTO.Add(new MobileStationeryDisbursementDetailsDTO
                {
                    DisbursementDetailsId = item.DisbursementDetailsId,
                    DisbursementId        = item.DisbursementId,
                    ItemCode          = item.ItemCode,
                    Stock             = item.Stock,
                    RequestQuantity   = item.RequestQuantity,
                    RetrievedQuantity = item.RetrievedQuantity,
                    DisbursedQuantity = item.DisbursedQuantity
                }
                               );
            }

            // list of staff in that department
            StationeryDisbursementEF disbursement = rndService.FindDisbursementById(disbursementId);
            List <StaffEF>           deptStaff    = staffService.FindAllEmployeeByDepartmentCode(disbursement.DepartmentCode);
            List <MobileStaffDTO>    deptStaffDTO = new List <MobileStaffDTO>();

            foreach (var staff in deptStaff)
            {
                deptStaffDTO.Add(new MobileStaffDTO
                {
                    Name    = staff.Name,
                    StaffId = staff.StaffId
                }
                                 );
            }

            // Create a DTO for disbursement which includes storeClerkId/Name and EmployeeId/Name
            MobileDisbursementItemDTO mobileDisbursementItem = new MobileDisbursementItemDTO
            {
                ActiveDepartments   = activeDepartments,
                DisbursementDetails = detailsDTO,
                DisbursementId      = disbursementId,
                DepartmentStaff     = deptStaffDTO,
                CollectionRepId     = (int)disbursement.CollectionRepId
            };

            // send a list of disbursements
            return(Json(mobileDisbursementItem, JsonRequestBehavior.AllowGet));
        }