Exemplo n.º 1
0
        public void Sync_GetUsbStatusLink_OneUsb()
        {
            var usbLocator = new MockUsbDriveLocator();

            usbLocator.Init(1);             // pretend only one USB
            string message;
            var    syncStartModel = new SyncStartModel(null);
            var    result         = syncStartModel.GetUsbStatusLink(usbLocator, out message);

            Assert.That(result, Is.True, "Should pass!");
            Assert.That(message.StartsWith("C:"), Is.True);
        }
Exemplo n.º 2
0
        public void Sync_GetUsbStatusLink_NoUsb()
        {
            var usbLocator = new MockUsbDriveLocator();

            usbLocator.Init(0);             // pretend no USBs
            string message;
            var    syncStartModel = new SyncStartModel(null);
            var    result         = syncStartModel.GetUsbStatusLink(usbLocator, out message);

            Assert.That(result, Is.False, "Should fail!");
            Assert.AreEqual("First insert a USB flash drive.", message);
        }
Exemplo n.º 3
0
        public void Sync_GetUsbStatusLink_MultipleUsb()
        {
            var usbLocator = new MockUsbDriveLocator();

            usbLocator.Init(2);             // pretend 2 USBs
            string message;
            var    syncStartModel = new SyncStartModel(null);
            var    result         = syncStartModel.GetUsbStatusLink(usbLocator, out message);

            Assert.That(result, Is.False, "Should fail!");
            Assert.AreEqual("More than one USB drive detected. Please remove one.", message);
        }
        public JsonResult <JsonResponse> SyncStatus([FromBody] SyncStartModel model)
        {
            try
            {
                IsTokenValid(RequestTypeEnum.SyncTripStart);

                var assignment = db.Assignments
                                 .Include(x => x.Proofs)
                                 .Include(x => x.Statuses)
                                 .FirstOrDefault(x => x.Id.ToString() == model.Id);

                if (assignment == null)
                {
                    throw new Exception("Assignment Not Found");
                }

                var tripStatus = (TripStatusEnum)System.Enum.Parse(typeof(TripStatusEnum), model.tripStatus);

                if (!assignment.Statuses.Any(x => x.Status == (int)tripStatus))
                {
                    db.TripStatuses.Add(new TripStatus()
                    {
                        Id           = Guid.NewGuid(),
                        AssignmentId = assignment.Id,
                        CreatedAt    = DateTime.Now,
                        Status       = (int)tripStatus,
                        Comments     = "",
                        StatusTime   = DateTime.Now,
                        StatusBy     = StringConstants.System,
                    });
                }

                assignment.StartTime     = DateTime.ParseExact(model.departureTime, StringConstants.TimeStampFormatApp, CultureInfo.InvariantCulture);
                assignment.EstimatedTime = DateTime.ParseExact(model.estimatedTime, StringConstants.TimeStampFormatApp, CultureInfo.InvariantCulture);
                db.SaveChanges();

                return(Json(new JsonResponse()
                {
                    IsSucess = true, IsTokenValid = true
                }));
            }
            catch (Exception ex)
            {
                return(Json(new JsonResponse()
                {
                    IsSucess = false, ErrorMessage = ex.Message
                }));
            }
        }