public bool AddJobAssignment(FormJobAssignmentViewModel jobAssignmentViewModel)
        {
            if (jobAssignmentViewModel == null)
            {
                return(false);
            }

            JobAssignment jobAssignment = new JobAssignment
            {
                ShippingId        = jobAssignmentViewModel.JobAssignment.ShippingId,
                TruckDriverId     = jobAssignmentViewModel.JobAssignment.TruckDriverId,
                JobAssignmentDate = jobAssignmentViewModel.JobAssignment.JobAssignmentDate,
                StartingPointJob  = jobAssignmentViewModel.JobAssignment.StartingPointJob,
                LatitudeStartJob  = jobAssignmentViewModel.JobAssignment.LatitudeStartJob,
                LongitudeStartJob = jobAssignmentViewModel.JobAssignment.LongitudeStartJob,
                DestinationJob    = jobAssignmentViewModel.JobAssignment.DestinationJob,
                LatitudeDesJob    = jobAssignmentViewModel.JobAssignment.LatitudeDesJob,
                LongitudeDesJob   = jobAssignmentViewModel.JobAssignment.LongitudeDesJob,
            };

            _context.JobAssignments.Add(jobAssignment);
            TransportationInf transportationInf =
                _context.TransportationInfs.Find(jobAssignment.ShippingId);

            if (transportationInf != null)
            {
                transportationInf.JobIsActive          = true;
                transportationInf.DateOfTransportation = jobAssignment.JobAssignmentDate;

                _context.Entry(transportationInf).State = EntityState.Modified;
            }
            _context.SaveChanges();

            return(true);
        }
        public void AddTransportationInfTest()
        {
            //Arrange
            var tranA = TransportationInfData();

            var mock = new Mock <ITransportationInfRepository>();

            mock.Setup(j => j.AddTransportationInf(tranA)).Returns(true);
            var repo = mock.Object;

            // Action
            var result = repo.AddTransportationInf(tranA);

            // Assert
            Assert.IsTrue(result);


            //Arrange
            var tranB = new TransportationInf();

            var mockNull = new Mock <ITransportationInfRepository>();

            mockNull.Setup(j => j.AddTransportationInf(tranB)).Returns(false);
            var repoNull = mockNull.Object;

            // Action
            var resultNull = repoNull.AddTransportationInf(tranB);

            // Assert
            Assert.IsFalse(resultNull);
        }
        public bool DeleteJobAssignment(int?jobAssignmentId)
        {
            if (jobAssignmentId == null)
            {
                return(false);
            }

            JobAssignment jobAssignmentIndb = _context.JobAssignments.Find(jobAssignmentId);

            if (jobAssignmentIndb == null)
            {
                return(false);
            }

            _context.JobAssignments.Remove(jobAssignmentIndb);

            TransportationInf transportationInf =
                _context.TransportationInfs.Find(jobAssignmentIndb.ShippingId);

            if (transportationInf != null)
            {
                transportationInf.JobIsActive = false;
            }

            _context.SaveChanges();

            return(true);
        }
Esempio n. 4
0
        public void GetTransportationInfByShippingIdTest()
        {
            var transportationInf = TransportationInfData();

            var mockRepository = new Mock <ITransportationInfRepository>();

            mockRepository.Setup(x => x.GetTransportationInfById(1)).Returns(transportationInf);

            // Act
            var controller = new TransportationInfController(mockRepository.Object);

            // Assert
            var result = controller.GetTransportationInfByShippingId(1) as TransportationInf;

            if (result != null)
            {
                Assert.AreEqual(result, transportationInf);
            }

            // Arrange
            var transportationInfNull = new TransportationInf();

            var mockRepositoryNull = new Mock <ITransportationInfRepository>();

            mockRepositoryNull.Setup(x => x.GetTransportationInfById(50)).Returns(transportationInfNull);

            // Act
            var controllerNull = new TransportationInfController(mockRepositoryNull.Object);

            // Assert
            var resultNull = controllerNull.GetTransportationInfByShippingId(50) as TransportationInf;

            Assert.IsNull(resultNull);
        }
        public TransportationInf GetTransportationInfById(int?shippingId)
        {
            if (shippingId == null)
            {
                return(null);
            }

            TransportationInf transportationInfInDb = _context.TransportationInfs.Find(shippingId);

            return(transportationInfInDb);
        }
 public ActionResult CreateTransportationInf(TransportationInf transportationInf)
 {
     if (ModelState.IsValid)
     {
         bool transportationInfAdd = _transportationInfRepository.AddTransportationInf(transportationInf);
         if (transportationInfAdd.Equals(true))
         {
             return(RedirectToAction("ListAllTransportationInfs"));
         }
     }
     return(View("FormCreateTransportationInf", transportationInf));
 }
        public bool AddTransportationInf(TransportationInf transportationInf)
        {
            if (transportationInf == null)
            {
                return(false);
            }
            transportationInf.StatusOfTransportation = false;
            transportationInf.JobIsActive            = false;

            _context.TransportationInfs.Add(transportationInf);
            _context.SaveChanges();

            return(true);
        }
        public ActionResult EditTransportationInf(TransportationInf transportationInf)
        {
            if (!ModelState.IsValid)
            {
                return(View("FormEditTransportationInf", transportationInf));
            }

            bool transportationInfEdit = _transportationInfRepository.UpdateTransportationInf(transportationInf);

            if (transportationInfEdit.Equals(true))
            {
                return(RedirectToAction("ListAllTransportationInfs"));
            }

            return(View("FormEditTransportationInf", transportationInf));
        }
        public ActionResult FormEditTransportationInf(int?shippingId)
        {
            if (shippingId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TransportationInf transportationInfInDb = _transportationInfRepository.GetTransportationInfById(shippingId);

            if (transportationInfInDb == null)
            {
                return(HttpNotFound());
            }

            return(View("FormEditTransportationInf", transportationInfInDb));
        }
        public bool DeleteTransportationInf(int?shippingId)
        {
            if (shippingId == null)
            {
                return(false);
            }

            TransportationInf transportationInfInDb = _context.TransportationInfs.Find(shippingId);

            if (transportationInfInDb == null)
            {
                return(false);
            }

            _context.TransportationInfs.Remove(transportationInfInDb);
            _context.SaveChanges();

            return(true);
        }
        public IEnumerable <TransportationInf> ListTransportationInfData()
        {
            List <TransportationInf> listTransportationInf = new List <TransportationInf>();

            var tranA = new TransportationInf()
            {
                ShippingId             = 1,
                OrderDate              = new DateTime(2017, 10, 01).ToString(),
                DateOfTransportation   = new DateTime(2017, 11, 13).ToString(),
                ProductName            = "Computer",
                StartingPoint          = "Bangkok",
                Destination            = "Hua Hin",
                Employer               = " LD Logistic Co,Ltd.",
                ReceiverName           = "Thanapon",
                StatusOfTransportation = false,
                JobIsActive            = true,
                ReceiveDateTime        = new DateTime(2017, 10, 05, 4, 40, 29),
                ShippingDocImage       = null,
                ShippingNote           = "accident"
            };
            var tranB = new TransportationInf()
            {
                ShippingId             = 2,
                OrderDate              = new DateTime(2017, 10, 04).ToString(),
                DateOfTransportation   = new DateTime(2017, 10, 20).ToString(),
                ProductName            = "Organic PlantC",
                StartingPoint          = "Saraburi",
                Destination            = " Chiangmai ",
                Employer               = "Chai-Jha-Learn",
                ReceiverName           = "Somjit",
                StatusOfTransportation = false,
                JobIsActive            = true,
                ReceiveDateTime        = new DateTime(2017, 10, 05, 4, 40, 29),
                ShippingDocImage       = null,
                ShippingNote           = "accident"
            };

            listTransportationInf.Add(tranA);
            listTransportationInf.Add(tranB);

            return(listTransportationInf);
        }
        public void Test_FormCreateJobAssignment_Return_HttpBadRequest_When_ShippingId_Equal_Null()
        {
            //Arrage
            var transportationInf = new TransportationInf();
            var mockTruckDriver   = new Mock <ITruckDriverRepository>();
            var mockJob           = new Mock <IJobAssignmentRepository>();

            var mockTrans = new Mock <ITransportationInfRepository>();

            mockTrans.Setup(m => m.GetTransportationInfById(null)).Returns(transportationInf);

            var controller = new TransportationInfController(mockTrans.Object, mockJob.Object, mockTruckDriver.Object);

            // Act
            var result         = controller.FormCreateJobAssignment(null) as ActionResult;
            var shippingIdNull = new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            // Assert
            Assert.AreEqual(result.ToString(), shippingIdNull.ToString());
        }
        public void Test_EditTransportationInf_Return_ListAllTransportationInfsView_When_ModelState_Is__Valid_And_Repo_Equal_False()
        {
            //Arrage
            var transportationInf = new TransportationInf();
            var mockTruckDriver   = new Mock <ITruckDriverRepository>();
            var mockJob           = new Mock <IJobAssignmentRepository>();

            var mockTrans = new Mock <ITransportationInfRepository>();

            mockTrans.Setup(m => m.UpdateTransportationInf(transportationInf)).Returns(false);

            var controller = new TransportationInfController(mockTrans.Object, mockJob.Object, mockTruckDriver.Object);

            // Act
            var result   = controller.EditTransportationInf(transportationInf) as ViewResult;
            var viewName = result.ViewName;

            // Assert
            Assert.AreEqual(viewName, "FormEditTransportationInf");
        }
        public TransportationInf TransportationInfData()
        {
            var transportationInfA = new TransportationInf()
            {
                ShippingId             = 1,
                OrderDate              = new DateTime(2017, 10, 01).ToString(),
                DateOfTransportation   = new DateTime(2017, 11, 13).ToString(),
                ProductName            = "Computer",
                StartingPoint          = "Bangkok",
                Destination            = "Hua Hin",
                Employer               = " LD Logistic Co,Ltd.",
                ReceiverName           = "Thanapon",
                StatusOfTransportation = false,
                JobIsActive            = true,
                ReceiveDateTime        = new DateTime(2017, 10, 05, 4, 40, 29),
                ShippingDocImage       = null,
                ShippingNote           = "accident"
            };

            return(transportationInfA);
        }
        public bool UpdateTransportationInf(TransportationInf transportationInf)
        {
            if (transportationInf == null)
            {
                return(false);
            }

            if (transportationInf.JobIsActive.Equals(true))
            {
                var findJob = _context.JobAssignments.FirstOrDefault(j => j.ShippingId == transportationInf.ShippingId);
                if (findJob != null)
                {
                    findJob.JobAssignmentDate   = transportationInf.DateOfTransportation;
                    findJob.StartingPointJob    = transportationInf.StartingPoint;
                    findJob.DestinationJob      = transportationInf.Destination;
                    findJob.JobAssignmentStatus = transportationInf.StatusOfTransportation;

                    transportationInf.JobIsActive           = true;
                    _context.Entry(transportationInf).State = EntityState.Modified;

                    _context.SaveChanges();

                    return(true);
                }
            }
            else
            {
                transportationInf.JobIsActive           = false;
                _context.Entry(transportationInf).State = EntityState.Modified;

                _context.SaveChanges();

                return(true);
            }

            return(false);
        }
        public IHttpActionResult UpdateTransportationInf(int?shippingId, TransportationInf transportationInf)
        {
            if (transportationInf == null || transportationInf.ShippingId != shippingId)
            {
                return(NotFound());
            }

            var findTransportationInf = _transportationInfRepository.GetTransportationInfById(shippingId);

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

            findTransportationInf.DateOfTransportation   = transportationInf.DateOfTransportation;
            findTransportationInf.OrderDate              = transportationInf.OrderDate;
            findTransportationInf.ProductName            = transportationInf.ProductName;
            findTransportationInf.StartingPoint          = transportationInf.StartingPoint;
            findTransportationInf.Destination            = transportationInf.Destination;
            findTransportationInf.Employer               = transportationInf.Employer;
            findTransportationInf.ReceiverName           = transportationInf.ReceiverName;
            findTransportationInf.JobIsActive            = transportationInf.JobIsActive;
            findTransportationInf.StatusOfTransportation = transportationInf.StatusOfTransportation;
            findTransportationInf.ShippingDocImage       = transportationInf.ShippingDocImage;
            findTransportationInf.ShippingNote           = transportationInf.ShippingNote;

            DateTime dateTime      = DateTime.UtcNow;
            var      timeZoneInfo  = TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time");
            var      convertedTime = TimeZoneInfo.ConvertTime(dateTime, timeZoneInfo);

            findTransportationInf.ReceiveDateTime = convertedTime;



            // ReSharper disable once UseNullPropagation
            if (findTransportationInf.ShippingDocImage != null)
            {
                if (findTransportationInf.ShippingDocImage.Length > 0)
                {
                    var path = HttpContext.Current.Server.MapPath("~/App_Data/ShippingDoc/"); //Path

                    //Check if directory exist
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path); //Create directory if it doesn't exist
                    }

                    var imageName = findTransportationInf.ReceiveDateTime.ToString() + findTransportationInf.ShippingId + findTransportationInf.Employer + ".jpg";

                    //set the image path
                    var imgPath = Path.Combine(path, imageName);

                    File.WriteAllBytes(imgPath, findTransportationInf.ShippingDocImage);
                }
            }

            var updateTransportationInf = _transportationInfRepository.UpdateTransportationInf(findTransportationInf);

            if (updateTransportationInf.Equals(false))
            {
                return(Ok(false));
            }

            return(Ok(true));
        }