Example #1
0
        public ActionResult Create(IFormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here
                int departmentId = 0;
                if (int.TryParse(collection["DepartmentId"], out departmentId))
                {
                    var findDepartment = departmentRepository.FindById(departmentId);
                    if (findDepartment != null)
                    {
                        var newEmployee = new SmartIT.Employee.MockDB.Employee()
                        {
                            Name = collection["Name"], Gender = collection["Gender"], DepartmentId = departmentId
                        };
                        employeeRepository.Add(newEmployee);
                    }
                }



                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
        public void ConfirmRetrieval_AlreadyRetrieved_ThrowsException()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId      = "RSERVICETEST",
                CollectionPoint    = departmentRepository.FindById("ENGL").CollectionPoint,
                Department         = departmentRepository.FindById("ENGL"),
                CreatedDateTime    = DateTime.Now,
                RequisitionDetails = new List <RequisitionDetail>()
                {
                    new RequisitionDetail()
                    {
                        RequisitionId = "RSERVICETEST",
                        ItemCode      = "E030",
                        Item          = new ItemService(context).FindItemByItemCode("E030"),
                        Quantity      = 30,
                    }
                }
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RSERVICETEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
                Status          = new StatusService(context).FindStatusByStatusId(20),
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RSERVICETEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RSERVICETEST",
                        ItemCode       = "E030",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        PlanQuantity   = 30,
                        ActualQuantity = 20,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(7),
                CreatedDateTime = DateTime.Now,
            });
            var expectedStatus = new StatusService(context).FindStatusByStatusId(20);

            // Act
            new RetrievalService(context).ConfirmRetrieval("RSERVICETEST", "*****@*****.**");

            // Assert
        }
        public void FindByIdTestNotNull()
        {
            // Act
            var result = departmentRepository.FindById("ENGL");

            // Assert
            Assert.IsInstanceOfType(result, typeof(Department));
        }
        public void UpdateActualQuantity_Valid()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId   = "RSERVICETEST",
                CollectionPoint = departmentRepository.FindById("ENGL").CollectionPoint,
                Department      = departmentRepository.FindById("ENGL"),
                CreatedDateTime = DateTime.Now,
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RSERVICETEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RSERVICETEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RSERVICETEST",
                        ItemCode       = "E030",
                        PlanQuantity   = 20,
                        ActualQuantity = 20,
                        Status         = new StatusService(context).FindStatusByStatusId(17),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(1),
                CreatedDateTime = DateTime.Now,
            });

            // Act
            new RetrievalService(context).UpdateActualQuantity("RSERVICETEST", "*****@*****.**", "E030", new List <BreakdownByDepartment>()
            {
                new BreakdownByDepartment()
                {
                    DeptId = "ENGL",
                    Actual = 10,
                }
            });

            // Assert
            Assert.AreEqual(10, new DisbursementDetailRepository(context).FindById("RSERVICETEST", "E030").ActualQuantity);
        }
Example #5
0
        // GET: Departments/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var department = _db.FindById(id);

            if (department == null)
            {
                return(HttpNotFound());
            }
            return(View(department));
        }
        public void RetrieveItem_Valid()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId   = "RSERVICETEST",
                CollectionPoint = departmentRepository.FindById("ENGL").CollectionPoint,
                Department      = departmentRepository.FindById("ENGL"),
                CreatedDateTime = DateTime.Now,
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RSERVICETEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RSERVICETEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RSERVICETEST",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        ItemCode       = "E030",
                        ActualQuantity = 1,
                        Status         = new StatusService(context).FindStatusByStatusId(17),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(1),
                CreatedDateTime = DateTime.Now,
            });
            var expected = new StatusService(context).FindStatusByStatusId(18);

            // Act
            new RetrievalService(context).RetrieveItem(retrieval.RetrievalId, "*****@*****.**", "E030");

            // Assert
            Assert.AreEqual(expected.StatusId, new DisbursementDetailRepository(context).FindById(disbursement.DisbursementId, "E030").Status.StatusId);
        }
 public void TestInitialize()
 {
     var requisition = requisitionRepository.Save(new Requisition()
     {
         RequisitionId      = "DAPICONTROLTEST",
         CollectionPoint    = departmentRepository.FindById("ENGL").CollectionPoint,
         Department         = departmentRepository.FindById("ENGL"),
         CreatedDateTime    = DateTime.Now,
         Status             = new StatusRepository(context).FindById(7),
         RequisitionDetails = new List <RequisitionDetail>()
         {
             new RequisitionDetail()
             {
                 RequisitionId = "DAPICONTROLTEST",
                 ItemCode      = "E030",
                 Item          = new ItemService(context).FindItemByItemCode("E030"),
                 Quantity      = 30,
                 Status        = new StatusRepository(context).FindById(7),
             }
         }
     });
     var retrieval = retrievalRepository.Save(new Retrieval()
     {
         RetrievalId  = "DAPICONTROLTEST",
         Requisitions = new List <Requisition>()
         {
             requisition
         },
         CreatedDateTime = DateTime.Now,
     });
     var disbursement = disbursementRepository.Save(new Disbursement()
     {
         DisbursementId      = "DAPICONTROLTEST",
         Department          = departmentRepository.FindById("ENGL"),
         DisbursementDetails = new List <DisbursementDetail>()
         {
             new DisbursementDetail()
             {
                 DisbursementId = "DAPICONTROLTEST",
                 ItemCode       = "E030",
                 ActualQuantity = 1,
             }
         },
         Retrieval       = retrieval,
         Status          = new StatusService(context).FindStatusByStatusId(1),
         CreatedDateTime = DateTime.Now,
     });
 }
Example #8
0
        static void Main(string[] args)
        {
            List <Employee> lEmp = new List <Employee>();
            var             eRep = new EmployeeRepository();
            var             dRep = new DepartmentRepository();

            var dep = new Department();

            dep = dRep.FindById(2);

            //Méthode findAll
            lEmp = eRep.FindAll();
            foreach (Employee emp in lEmp)
            {
                Console.WriteLine(emp.Firstname.ToString());
            }

            //Méthode Add
            var _emp = new Employee()
            {
                Firstname  = "Damien",
                LastName   = "Bonnefoy",
                Gender     = "Male",
                Salary     = 2454,
                Department = dep
            };

            _emp = eRep.AddEmployee(_emp);
            Console.WriteLine(_emp.Id);
        }
        public void UpdateActualQuantityForDisbursementDetail_ActualQuantityMore_ThrowsException()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId   = "DSERVICETEST",
                CollectionPoint = departmentRepository.FindById("ENGL").CollectionPoint,
                Department      = departmentRepository.FindById("ENGL"),
                CreatedDateTime = DateTime.Now,
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "DSERVICETEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "DSERVICETEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "DSERVICETEST",
                        ItemCode       = "E030",
                        PlanQuantity   = 30,
                        ActualQuantity = 30,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(1),
                CreatedDateTime = DateTime.Now,
            });

            // Act
            new DisbursementService(context).UpdateActualQuantityForDisbursementDetail("DSERVICETEST", "E030", 40, "*****@*****.**");
        }
        public void ConfirmCollectionTest()
        {
            int expected = 10; //status id of Items Collected

            //get retrieval object
            Retrieval retrieval = context.Retrieval.Where(x => x.RetrievalId == "TEST").First();

            retrieval.Requisitions.FirstOrDefault().RequisitionDetails = new List <RequisitionDetail>()
            {
                new RequisitionDetail()
                {
                    RequisitionId = retrieval.Requisitions.FirstOrDefault().RequisitionId,
                    Item          = new ItemService(context).FindItemByItemCode("E030"),
                    Status        = new StatusService(context).FindStatusByStatusId(8),
                }
            };

            //create disbursement and save it into database
            Disbursement a = new Disbursement();

            a.DisbursementId = IdService.GetNewDisbursementId(context);
            a.Department     = departmentRepository.FindById("COMM");
            retrieval.Requisitions.Add(context.Requisition.First());
            a.Retrieval       = retrieval;
            a.CreatedDateTime = DateTime.Now;
            disbursementService.Save(a);

            //include Disbursement detail object and save it
            DisbursementDetail detail = new DisbursementDetail()
            {
                Disbursement   = a,
                Item           = context.Item.First(),
                PlanQuantity   = 1,
                ActualQuantity = 1
            };

            disbursementdetailRepository.Save(detail);

            Disbursement result = disbursementService.ConfirmCollection(a.DisbursementId);


            //Asert
            Assert.AreEqual(expected, result.Status.StatusId);
        }
        public void ConfirmRetrieval_MoreThanOneRequisitionDiffDeptOutstanding_Valid()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition1 = requisitionRepository.Save(new Requisition()
            {
                RequisitionId      = "RSERVICETEST1",
                CollectionPoint    = departmentRepository.FindById("ENGL").CollectionPoint,
                Department         = departmentRepository.FindById("ENGL"),
                CreatedDateTime    = DateTime.Now,
                Status             = statusRepository.FindById(7),
                RequisitionDetails = new List <RequisitionDetail>()
                {
                    new RequisitionDetail()
                    {
                        RequisitionId = "RSERVICETEST1",
                        ItemCode      = "E030",
                        Item          = new ItemService(context).FindItemByItemCode("E030"),
                        Status        = statusRepository.FindById(7),
                        Quantity      = 30,
                    }
                }
            });
            var requisition2 = requisitionRepository.Save(new Requisition()
            {
                RequisitionId      = "RSERVICETEST2",
                CollectionPoint    = departmentRepository.FindById("COMM").CollectionPoint,
                Department         = departmentRepository.FindById("COMM"),
                CreatedDateTime    = DateTime.Now,
                Status             = statusRepository.FindById(7),
                RequisitionDetails = new List <RequisitionDetail>()
                {
                    new RequisitionDetail()
                    {
                        RequisitionId = "RSERVICETEST2",
                        ItemCode      = "E030",
                        Item          = new ItemService(context).FindItemByItemCode("E030"),
                        Status        = statusRepository.FindById(7),
                        Quantity      = 30,
                    }
                }
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RSERVICETEST",
                Requisitions = new List <Requisition>()
                {
                    requisition1, requisition2
                },
                CreatedDateTime = DateTime.Now,
                Status          = new StatusService(context).FindStatusByStatusId(19),
            });
            var disbursement1 = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RSERVICETEST1",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RSERVICETEST1",
                        ItemCode       = "E030",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        PlanQuantity   = 30,
                        ActualQuantity = 20,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    },
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(7),
                CreatedDateTime = DateTime.Now,
            });
            var disbursement2 = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RSERVICETEST2",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RSERVICETEST2",
                        ItemCode       = "E030",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        PlanQuantity   = 30,
                        ActualQuantity = 20,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    },
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(7),
                CreatedDateTime = DateTime.Now,
            });
            var expectedStatus  = new StatusService(context).FindStatusByStatusId(20);
            var expectedRemarks = "Automatically generated by system based on outstanding quantity - RSERVICETEST";

            // Act
            new RetrievalService(context).ConfirmRetrieval("RSERVICETEST", "*****@*****.**");

            // Assert
            Assert.AreEqual(expectedStatus.StatusId, new RetrievalService(context).FindRetrievalById("RSERVICETEST").Status.StatusId);
            Assert.IsTrue(new RequisitionService(context).FindAllRequisitions().Select(r => r.EmployeeRemarks).Contains(expectedRemarks));
            var result = new RequisitionService(context).FindAllRequisitions().Where(r => r.EmployeeRemarks == expectedRemarks).FirstOrDefault();

            Assert.AreEqual(10, result.RequisitionDetails.Sum(rr => rr.Quantity));
        }
Example #12
0
        public void ConfirmRetrieval_AlreadyConfirmed_BadRequest()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId      = "RETCONTROLTEST",
                CollectionPoint    = departmentRepository.FindById("ENGL").CollectionPoint,
                Department         = departmentRepository.FindById("ENGL"),
                CreatedDateTime    = DateTime.Now,
                RequisitionDetails = new List <RequisitionDetail>()
                {
                    new RequisitionDetail()
                    {
                        RequisitionId = "RETCONTROLTEST",
                        ItemCode      = "E030",
                        Item          = new ItemService(context).FindItemByItemCode("E030"),
                        Quantity      = 30,
                    }
                }
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RETCONTROLTEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
                Status          = new StatusService(context).FindStatusByStatusId(20),
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RETCONTROLTEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RETCONTROLTEST",
                        ItemCode       = "E030",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        PlanQuantity   = 30,
                        ActualQuantity = 30,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(7),
                CreatedDateTime = DateTime.Now,
            });
            var expectedStatus = new StatusService(context).FindStatusByStatusId(20);

            var controller = new RetrievalAPIController()
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration(),
                Context       = context,
            };

            // Act
            IHttpActionResult actionResult = controller.ConfirmRetrieval(new ConfirmRetrievalViewModel()
            {
                RetrievalId = "RETCONTROLTEST",
                Email       = "*****@*****.**",
            });
            BadRequestErrorMessageResult badRequest = actionResult as BadRequestErrorMessageResult;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult));
            Assert.AreEqual("Retrieval already confirmed", badRequest.Message);
        }
Example #13
0
        public void ConfirmRetrieval_Valid()
        {
            // Arrange
            var requisitionRepository = new RequisitionRepository(context);
            var departmentRepository  = new DepartmentRepository(context);

            var requisition = requisitionRepository.Save(new Requisition()
            {
                RequisitionId      = "RETCONTROLTEST",
                CollectionPoint    = departmentRepository.FindById("ENGL").CollectionPoint,
                Department         = departmentRepository.FindById("ENGL"),
                CreatedDateTime    = DateTime.Now,
                Status             = new StatusRepository(context).FindById(7),
                RequisitionDetails = new List <RequisitionDetail>()
                {
                    new RequisitionDetail()
                    {
                        RequisitionId = "RETCONTROLTEST",
                        ItemCode      = "E030",
                        Item          = new ItemService(context).FindItemByItemCode("E030"),
                        Quantity      = 30,
                        Status        = new StatusRepository(context).FindById(7),
                    }
                }
            });
            var retrieval = retrievalRepository.Save(new Retrieval()
            {
                RetrievalId  = "RETCONTROLTEST",
                Requisitions = new List <Requisition>()
                {
                    requisition
                },
                CreatedDateTime = DateTime.Now,
                Status          = new StatusService(context).FindStatusByStatusId(19),
            });
            var disbursement = disbursementRepository.Save(new Disbursement()
            {
                DisbursementId      = "RETCONTROLTEST",
                Department          = departmentRepository.FindById("ENGL"),
                DisbursementDetails = new List <DisbursementDetail>()
                {
                    new DisbursementDetail()
                    {
                        DisbursementId = "RETCONTROLTEST",
                        ItemCode       = "E030",
                        Item           = new ItemService(context).FindItemByItemCode("E030"),
                        PlanQuantity   = 30,
                        ActualQuantity = 30,
                        Status         = new StatusService(context).FindStatusByStatusId(18),
                    }
                },
                Retrieval       = retrieval,
                Status          = new StatusService(context).FindStatusByStatusId(7),
                CreatedDateTime = DateTime.Now,
            });
            var expectedStatus = new StatusService(context).FindStatusByStatusId(20);

            var controller = new RetrievalAPIController()
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration(),
                Context       = context,
            };

            // Act
            IHttpActionResult actionResult = controller.ConfirmRetrieval(new ConfirmRetrievalViewModel()
            {
                RetrievalId = "RETCONTROLTEST",
                Email       = "*****@*****.**",
            });
            var contentResult = actionResult as OkNegotiatedContentResult <MessageViewModel>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(contentResult.Content.Message, "Successfully confirmed");
            var result = new RetrievalRepository(context).FindById("RETCONTROLTEST");

            Assert.AreEqual(expectedStatus.Name, result.Status.Name);
        }
Example #14
0
 public Department FindDepartmentByDepartmentCode(string departmentCode)
 {
     return(departmentRepository.FindById(departmentCode));
 }
Example #15
0
        public IHttpActionResult CreateRequisition(UpdateRequisitionJSONViewModel json)
        {
            ApplicationUser user = userRepository.FindById(RequestContext.Principal.Identity.GetUserId());

            // update the collection point
            Department d = departmentRepository.FindById(user.Department.DepartmentCode);

            d.CollectionPoint = collectionPointRepository.FindById(json.CollectionPointId);
            departmentRepository.Save(d);

            if (json.ItemList.Count < 1)
            {
                return(BadRequest("An unexpected error occured."));
            }

            // create the requisition
            Requisition r = new Requisition();

            r.RequisitionId      = IdService.GetNewRequisitionId(context);
            r.RequisitionDetails = new List <RequisitionDetail>();
            r.EmployeeRemarks    = json.Remarks;

            if (json.IsDraft == true)
            {
                r.Status = statusService.FindStatusByStatusId(3);
            }
            else
            {
                r.Status = statusService.FindStatusByStatusId(4);
            }
            r.CreatedDateTime = DateTime.Now;
            r.Department      = user.Department;
            r.CollectionPoint = collectionPointRepository.FindById(json.CollectionPointId);
            r.CreatedBy       = user;

            // create requisition details
            foreach (UpdateRequisitionTableJSONViewModel dd in json.ItemList)
            {
                r.RequisitionDetails.Add(new RequisitionDetail
                {
                    ItemCode = dd.ItemCode,
                    Item     = itemService.FindItemByItemCode(dd.ItemCode),
                    Quantity = dd.Qty,
                    Status   = statusService.FindStatusByStatusId(4)
                });
            }
            try
            {
                requisitionService.Save(r);
            }
            catch
            {
                return(BadRequest("An unexpected error occured."));
            }

            // Create Notification
            Notification n = new NotificationService(context).CreateNotification(r, user.Department.Head);

            new NotificationApiController()
            {
                context = context
            }.SendNotification(n.NotificationId.ToString());
            new NotificationApiController()
            {
                context = context
            }.SendEmail(n.NotificationId.ToString());

            return(Ok(r.RequisitionId));
        }