Exemple #1
0
        public void SaveRequestDetails(StationeryRequestDetailsEF details)
        {
            var existingRequestDet = context.StationeryRequestDetails.Find(details.RequestDetailsId);

            if (existingRequestDet != null)
            {
                existingRequestDet.RetrievedQuantity = details.RetrievedQuantity;
                existingRequestDet.FulfilledQuantity = details.FulfilledQuantity;
                existingRequestDet.FulfilmentStatus  = details.FulfilmentStatus;
                context.SaveChanges();
            }
        }
Exemple #2
0
        public void CreateRequest(StaffEF staff, RequestListDTO requestListDTO)
        {
            StationeryRequestEF newRequest; string requestId; StationeryRequestDetailsEF requestItem; bool existingItem;
            List <StationeryRequestDetailsEF> requestList = new List <StationeryRequestDetailsEF>();
            long unixTimestamp = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
            int  year          = DateTime.Now.Year;

            if (requestListDTO.RequestId != null)
            {
                requestId = requestListDTO.RequestId;
                List <StationeryRequestDetailsEF> currentList = rndEFF.FindAllStationeryRequestDetailsByRequestId(requestId);
                for (int i = 0; i < currentList.Count; i++)
                {
                    existingItem = false;
                    for (int j = 0; j < requestListDTO.ItemDescription.Count; j++)
                    {
                        if (currentList[i].Stock.Description == requestListDTO.ItemDescription[j])
                        {
                            requestItem = rndEFF.FindRequestDetailsByRequestIdAndItemCode(requestId, currentList[i].Stock.ItemCode);
                            requestItem.RequestQuantity = requestListDTO.Quantity[j];
                            requestList.Add(requestItem);
                            existingItem             = true;
                            requestListDTO.Remove[j] = true;
                            break;
                        }
                    }

                    if (!existingItem)
                    {
                        rndEFF.DropRequestDetails(currentList[i]);
                    }
                }

                requestListDTO = RemoveFromRequestListDTO(requestListDTO);

                for (int k = 0; k < requestListDTO.ItemDescription.Count; k++)
                {
                    string stockId = stockEFF.FindStockByDescription(requestListDTO.ItemDescription[k]).ItemCode;
                    requestItem = new StationeryRequestDetailsEF(requestId, stockId, requestListDTO.Quantity[k]);
                    requestList.Add(requestItem);
                }
            }
            else
            {
                int num = rndEFF.FindLastRequestNoByYearAndDepartment(staff.DepartmentCode, year) + 1;
                requestId = staff.DepartmentCode + "/" + year + "/" + num;

                for (int i = 0; i < requestListDTO.ItemDescription.Count; i++)
                {
                    string stockId = stockEFF.FindStockByDescription(requestListDTO.ItemDescription[i]).ItemCode;
                    requestItem = new StationeryRequestDetailsEF(requestId, stockId, requestListDTO.Quantity[i]);
                    requestList.Add(requestItem);
                }
            }

            newRequest = new StationeryRequestEF(requestId, staff.StaffId, unixTimestamp);
            rndEFF.SaveRequestAndRequestDetails(newRequest, requestList);

            StaffEF currentAuthority = staff.Department.Authority;

            if (currentAuthority.Email != null)
            {
                string subject = "Pending Stationery Request";
                string body    = "Request #" + requestId + " has been submitted by " + staff.Name + " for your approval. Please click " +
                                 "<a href='http://localhost/StationeryStore/ApproveRequest/ViewRequest/?requestId=" + requestId + "'>" + "here</a> to view the details.";
                Email.SendEmail(currentAuthority.Email, subject, body);
            }
        }
Exemple #3
0
 public void UpdateRequestDetails(StationeryRequestDetailsEF details)
 {
     rndEFF.SaveRequestDetails(details);
 }
Exemple #4
0
 public void DropRequestDetails(StationeryRequestDetailsEF stationeryRequestDetails)
 {
     context.Entry(stationeryRequestDetails).State = EntityState.Deleted;
     context.SaveChanges();
 }