public async Task Can_add_Order()
        {
            const int    ORDER            = 3;
            const string SITE_MANAGER_ID  = "EMP1";
            const string SUPPLIER_CODE    = "SP1";
            const string SITE_CODE        = "SITE001";
            const string SHIPPING_ADDRESS = "MALABE";
            const double TOTAL_COST       = 2000.00;
            const string STATUS           = "PENDING";

            string[] ITEMS = { "IT001", "IT001", "IT002", "IT002", "IT002", "IT003" };

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var order = new PurchaseOrderDTO {
                    SiteManagerId = SITE_MANAGER_ID, SupplierCode = SUPPLIER_CODE, SiteCode = SITE_CODE, ShippingAddress = SHIPPING_ADDRESS, TotalCost = TOTAL_COST, OrderStatus = STATUS, ItemIds = ITEMS
                };

                var result = await ordersController.PostPurchaseOrder(order);

                var viewResult   = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var actionResult = Assert.IsType <CreatedAtActionResult>(viewResult.Result);
                var model        = Assert.IsType <PurchaseOrder>(actionResult.Value);
                Assert.Equal(ORDER, model.OrderReference);
            }
        }
示例#2
0
        public JsonResult SetPerson(StoreClerk storeClerk)
        {
            PurchaseOrdersController purchaseOrdersController = new PurchaseOrdersController();

            purchaseOrdersController.SystemGeneratePO();

            StationeryRetrievalFormsController stationeryRetrievalFormsController = new StationeryRetrievalFormsController();

            stationeryRetrievalFormsController.GenerateRetrievalForm();
            stationeryRetrievalFormsController.MergeRetrievalForms();
            StoreClerk storeclerk     = db1.StoreClerks.Where(p => p.UserName == storeClerk.UserName).FirstOrDefault();
            string     hashedPassword = CalculateMD5Hash(storeClerk.Password);

            if (ModelState.IsValid)
            {
                if (storeclerk != null && storeclerk.Password == hashedPassword)
                {
                    string sessionId = Guid.NewGuid().ToString();
                    storeclerk.Password         = hashedPassword;
                    storeclerk.SessionId        = sessionId;
                    db1.Entry(storeclerk).State = EntityState.Modified;
                    db1.SaveChanges();
                    return(Json(new { sessionId = storeclerk.SessionId, username = storeclerk.UserName, status = "success" }));
                }
                else
                {
                    return(Json(new { status = "fail" }));
                }
            }
            else
            {
                return(Json(new { status = "fail" }));
            }
        }
        public async Task Can_get_all_Orders_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrders();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <PurchaseOrder> > >(result);
                var orders     = Assert.IsType <List <PurchaseOrder> >(viewResult.Value);
                Assert.Single(orders);
            }
        }
        public PurchaseOrderControllerTests()
        {
            var config = new MapperConfiguration(opts =>
            {
                opts.AddProfile <ModelToViewModelProfile>();
                opts.AddProfile <ViewModelToModelProfile>();
            });

            _mapper     = config.CreateMapper();
            _logger     = new Mock <ILoggerManager>();
            _mockrepo   = new Mock <IRepositoryWrapper>();
            _controller = new PurchaseOrdersController(_mapper, _mockrepo.Object, _logger.Object);
        }
        public async void Task2_GetById_Return_NotFoundResult()
        {
            //Arrange
            var projectId = 2;
            var orderId   = 2;

            _context    = new SDCContext(dbContextOptions);
            _controller = new PurchaseOrdersController(_context);

            //Act
            var result = await _controller.GetPurchaseOrder(projectId, orderId);

            //Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task Should_not_return_Order_when_Order_not_existing()
        {
            const int ORDER = 11;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                Assert.IsNotType <PurchaseOrder>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Can_get_Order_details_by_OrderNo()
        {
            const int ORDER = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var order      = Assert.IsType <PurchaseOrder>(viewResult.Value);
                Assert.NotNull(order);
                Assert.Equal(ORDER, order.OrderReference);
            }
        }
        public async Task Can_delete_Order_by_OderReference()
        {
            const int ORDER = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.DeletePurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var model      = Assert.IsType <PurchaseOrder>(viewResult.Value);

                Assert.Equal(ORDER, model.OrderReference);
            }
        }
        public async Task Returned_Requisition_should_include_relavant_SiteManager()
        {
            const int    ORDER           = 1;
            const string SITE_MANAGER_ID = "EMP1";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var order      = Assert.IsType <PurchaseOrder>(viewResult.Value);
                Assert.NotNull(order);
                Assert.Equal(ORDER, order.OrderReference);

                var siteManager = Assert.IsType <SiteManager>(order.SiteManager);
                Assert.NotNull(siteManager);
                Assert.Equal(SITE_MANAGER_ID, siteManager.StaffId);
            }
        }
示例#10
0
        public ActionResult Index(string sessionId)
        {
            PurchaseOrdersController purchaseOrdersController = new PurchaseOrdersController();

            purchaseOrdersController.SystemGeneratePO();
            purchaseOrdersController.MergePurchaseOrders();

            StationeryRetrievalFormsController stationeryRetrievalFormsController = new StationeryRetrievalFormsController();

            stationeryRetrievalFormsController.GenerateRetrievalForm();
            stationeryRetrievalFormsController.MergeRetrievalForms();

            StoreClerk storeclerk = dbM.StoreClerks.Where(p => p.SessionId == sessionId).FirstOrDefault();

            if (storeclerk != null && sessionId != null)
            {
                int num             = dbM.RequisitionForms.Where(x => x.Status == "Approved").Count();
                int numDisbuserment = dbM.DisbursementLists.Where(x => x.Status == "Pending").Count();
                int numOutS         = dbM.OutstandingLists.Where(x => x.Status == "Awaiting Goods").Count();
                int numRetrive      = dbM.StationeryRetrievalForms.Where(x => x.Status == "Pending").Count();
                int numPO           = dbM.PurchaseOrders.Where(x => x.Status == "Not Submitted").Count();
                int numStock        = dbM.StockAdjustmentVouchers.Where(x => x.Status == "Pending").Count();
                ViewData["num"]             = num;
                ViewData["numDisbuserment"] = numDisbuserment;
                ViewData["numOutSt"]        = numOutS;
                ViewData["numRetriF"]       = numRetrive;
                ViewData["numPO"]           = numPO;
                ViewData["numStockAj"]      = numStock;
                ViewData["sumTotal"]        = (num + numDisbuserment + numOutS + numRetrive + numPO + numStock).ToString();
                ViewData["sessionId"]       = storeclerk.SessionId;
                ViewData["username"]        = storeclerk.UserName;
                ViewData["tag"]             = "storeclerk";
                return(View());
            }
            else
            {
                return(RedirectToAction("Login", "Login"));
            }
        }