public BaseResponse UpdateJournalStopPoint(ServiceRequest request) { return(Run <ServiceRequest, BaseResponse>(request, (resp, db, session) => { ValidateParam(request.StopPointId); long stopPointId = request.StopPointId.Value; string name = request.Name; double?latitude = request.Latitude; double?longitude = request.Longitude; string extendedData = request.ExtendedData; string description = request.Description; var item = GetJournalStopPoint(db, stopPointId); if (name != null) { item.Name = name; } if (description != null) { item.Description = description; } if (latitude > 0) { item.Latitude = latitude.Value; } if (longitude > 0) { item.Longitude = longitude.Value; } if (extendedData != null) { item.ExtendedData = extendedData; } item.LastUpdatedTS = DateTime.Now; })); }
public GetJourneyResponse GetJourneyByTruck(ServiceRequest request) { return(Run <ServiceRequest, GetJourneyResponse>(request, (resp, db, session) => { ValidateParam(request.JournalId); long journalid = request.JournalId.Value; ValidateParam(request.TruckId); long truckId = request.TruckId.Value; var locations = db.DBModel.JournalLocations.Include(x => x.User).Where(x => x.TruckId == truckId && x.JournalId == journalid).ToList(); if (locations.Any()) { resp.Item = new JourneyModel(); resp.Item.Locations = new List <JournalLocationModel>(); resp.Item.Driver = new UserModel(locations[0].User); foreach (var i in locations) { resp.Item.Locations.Add(new JournalLocationModel(i)); } } })); }
public GetJournalsResponse GetJournals(ServiceRequest request) { return(Run <ServiceRequest, GetJournalsResponse>(request, (resp, db, session) => { var status = request.Status; var includeActivity = request.IncludeActivity == null ? false : request.IncludeActivity.Value; var includeAttachment = request.IncludeAttachment == null ? false : request.IncludeAttachment.Value; var includeStopPoint = request.IncludeStopPoint == null ? false : request.IncludeStopPoint.Value; var includeDriver = request.IncludeDriver == null ? false : request.IncludeDriver.Value; resp.Items = new List <JournalModel>(); var query = (status == null) ? db.DBModel.Journals.Where(x => x.Status != JournalStatus.Deleted) : db.DBModel.Journals.Where(x => x.Status == (JournalStatus)status); var array = query.ToArray(); foreach (var journal in query) { resp.Items.Add(CreateJournalModel(db, journal, includeActivity, includeAttachment, includeStopPoint, includeDriver)); } })); }
public BaseResponse RemoveTruck(ServiceRequest request) { return(Run <BaseRequest, BaseResponse>(request, (resp, db, session) => { ValidateParam(request.TruckId); long truckId = request.TruckId.Value; var truck = db.GetTruck(truckId); if (truck == null) { throw new KException("Truck is not found"); } if (truck.Status == TruckStatus.Inactived) { db.RemoveTruck(truck); } else { truck.Status = TruckStatus.Deleted; truck.LastUpdatedTS = DateTime.Now; } }, false)); }
public BaseResponse RemoveUser(ServiceRequest request) { return(Run <ServiceRequest, GetUsersResponse>(request, (resp, db, session) => { ValidateParam(request.UserId); long driverId = request.UserId.Value; var user = db.GetUser(driverId); if (user == null) { throw new KException("User is not found"); } if (user.Status == Status.Inactived) { db.RemoveUser(user); } else { user.Status = Status.Deleted; user.LastUpdatedTS = DateTime.Now; } }, false)); }
public BaseResponse UpdateUser(ServiceRequest request) { return(Run <ServiceRequest, BaseResponse>(request, (resp, db, session) => { ValidateParam(request.UserId); long driverId = request.UserId.Value; var user = db.GetUser(driverId); if (user == null) { throw new KException("User is not found"); } string firstName = request.FirstName; string lastName = request.LastName; string ssn = request.Ssn; string address = request.Address; string dob = request.Dob; string phone = request.Phone; string email = request.Email; string note = request.Note; int?status = request.Status; int?role = request.Role; if (firstName != null) { user.FirstName = firstName; } if (lastName != null) { user.LastName = lastName; } if (ssn != null) { user.SSN = ssn; } if (address != null) { user.Address = address; } if (dob != null) { user.DOB = DateTime.ParseExact(request.Dob, "yyyy-MM-dd", null); } if (phone != null) { user.Phone = phone; } if (email != null) { user.Email = email; } if (note != null) { user.Note = note; } if (status != null) { user.Status = (Status)status.Value; } if (role != null) { user.Role = (UserRole)role.Value; } })); }
public BaseResponse UpdateJournal(ServiceRequest request) { return(Run <ServiceRequest, BaseResponse>(request, (resp, db, session) => { ValidateParam(request.JournalId); var journal = GetJournal(db, request.JournalId.Value); if (request.Name != null) { journal.Name = request.Name; } if (request.Description != null) { journal.Description = request.Description; } if (request.StartLocation != null) { journal.StartLocation = request.StartLocation; } if (request.StartLat != null) { journal.StartLat = request.StartLat.Value; } if (request.StartLng > 0) { journal.StartLng = request.StartLng.Value; } if (request.EndLocation != null) { journal.EndLocation = request.EndLocation; } if (request.EndLat > 0) { journal.EndLat = request.EndLat.Value; } if (request.EndLng > 0) { journal.EndLng = request.EndLng.Value; } if (request.ActiveDate != null) { journal.ActiveDate = DateTime.ParseExact(request.ActiveDate, "yyyy-MM-dd", null); } if (request.Status != null) { journal.Status = (JournalStatus)request.Status.Value; } if (request.ExtendedData != null) { journal.ExtendedData = request.ExtendedData; } if (request.ReferenceCode != null) { journal.ReferenceCode = request.ReferenceCode; } if (request.EstimatedDuration != null) { journal.EstimatedDuration = request.EstimatedDuration; } if (request.EstimatedDistance != null) { journal.EstimatedDistance = request.EstimatedDistance; } if (request.Mooc != null) { journal.Mooc = request.Mooc; } if (request.Container != null) { journal.Container = request.Container; } if (request.RouteId != null) { journal.RouteId = request.RouteId.Value; } journal.LastUpdatedTS = DateTime.Now; })); }
public BaseResponse UpdateDriver(ServiceRequest request) { return(Run <ServiceRequest, BaseResponse>(request, (resp, db, session) => { ValidateParam(request.DriverId); long driverId = request.DriverId.Value; var driver = db.GetDriver(driverId); if (driver == null) { throw new KException("Driver is not found"); } if (request.FirstName != null) { driver.FirstName = request.FirstName; } if (request.LastName != null) { driver.LastName = request.LastName; } if (request.Ssn != null) { driver.SSN = request.Ssn; } if (request.Address != null) { driver.Address = request.Address; } if (request.Dob != null) { driver.DOB = DateTime.ParseExact(request.Dob, "yyyy-MM-dd", null); //dob.Value; } if (request.Phone != null) { driver.Phone = request.Phone; } if (request.Email != null) { driver.Email = request.Email; } if (request.Note != null) { driver.Note = request.Note; } if (request.LicenseNo != null) { driver.LicenseNo = request.LicenseNo; } if (request.ClassType != null) { driver.ClassType = request.ClassType; } if (request.IssuedPlace != null) { driver.IssuedPlace = request.IssuedPlace; } if (request.ExpiredDate != null) { driver.ExpiredDate = DateTime.ParseExact(request.ExpiredDate, "yyyy-MM-dd", null); } if (request.IssuedDate != null) { driver.IssuedDate = DateTime.ParseExact(request.IssuedDate, "yyyy-MM-dd", null); } if (request.Status != null) { driver.Status = (Status)request.Status.Value; } if (request.TruckId != null) { driver.TruckId = request.TruckId; } })); }
public GetDriverResponse AddDriver(ServiceRequest request) { return(Run <ServiceRequest, GetDriverResponse>(request, (resp, db, session) => { //ValidateParam(request.DriverId); //long driverId = request.DriverId.Value; string username = request.UserName; string password = request.Password; string firstName = request.FirstName; string lastName = request.LastName; string ssn = request.Ssn; string address = request.Address; string dob = request.Dob; string phone = request.Phone; string email = request.Email; string note = request.Note; string licenseNo = request.LicenseNo; string classType = request.ClassType; string issuedPlace = request.IssuedPlace; string expiredDate = request.ExpiredDate; string issuedDate = request.IssuedDate; int?status = request.Status; long?truckId = request.TruckId; var existingUser = db.GetUser(username); if (existingUser != null) { throw new KException($"Driver {username} existed!"); } var driver = new Driver() { Username = username, Password = Utils.HashPassword(password), FirstName = firstName, LastName = lastName, SSN = ssn, Address = address, DOB = DateTime.ParseExact(request.Dob, "yyyy-MM-dd", null),//request.Dob?? request.Dob.Value; Phone = phone, Email = email, Note = note, Role = UserRole.Driver, LastUpdatedTS = DateTime.Now, CreatedTS = DateTime.Now, Status = (status != null) ? (Status)status.Value : Status.Actived, LicenseNo = licenseNo, ClassType = classType, IssuedPlace = issuedPlace, TruckId = truckId, }; if (expiredDate != null) { driver.ExpiredDate = DateTime.ParseExact(request.ExpiredDate, "yyyy-MM-dd", null); } if (issuedDate != null) { driver.IssuedDate = DateTime.ParseExact(request.IssuedDate, "yyyy-MM-dd", null); } driver.Validate(); db.AddDriver(driver); db.SaveChanges(); driver.Truck = db.DBModel.Trucks.FirstOrDefault(x => x.Id == truckId); resp.Item = new DriverModel(driver); }, false)); }