public bool RequestService(int userId, ServiceRequestDTO serviceRequest) { using (var entities = new UCAInvestDBEntities()) { var userDbResponse = entities.users.SingleOrDefault(t => t.user_id == userId); if (userDbResponse != null) { if (userDbResponse.status == "service_requested") { return(false); } long timeStamp = (long)TimeFunctions.DateTimeToUnixTimestamp(DateTime.Now); var location = LocationServices.GenerateDBGeographyFromCoordinates(serviceRequest.coordinates); UserService serviceToAdd = new UserService() { client_user_id = userId, request_timestamp = timeStamp, location = location, description = serviceRequest.description, taken_timestamp = 0, completed_timestamp = 0 }; entities.user_services.Add(serviceToAdd); userDbResponse.status = "service_requested"; entities.SaveChanges(); return(true); } } return(false); }
public void AddOrUpdateServiceRequest(ServiceRequestDTO serviceRequest) { DateTime timestamp = DateTime.Parse(DateTime.Now.ToString("O")); var request = new ServiceRequest.DataAccess.ServiceRequest { ID = serviceRequest.ID != Guid.Empty ? serviceRequest.ID : Guid.NewGuid(), Description = serviceRequest.Description, BuildingCode = serviceRequest.BuildingCode, CurrentStatus = (DataAccess.CurrentStatus?)serviceRequest.CurrentStatus, LastModifiedBy = serviceRequest.LastModifiedBy, LastModifiedDate = timestamp }; //hmm need to check if it is a new request or existing one and then proceed with updating/adding if (serviceRequest.ID != Guid.Empty) //exists => update { _repo.UpdateServiceRequest(request); } else { request.CreatedBy = serviceRequest.LastModifiedBy; request.CreatedDate = timestamp; _repo.AddServiceRequest(request); } }
public IHttpActionResult Request([FromBody] ServiceRequestDTO request) { var _userWithData = (RegisterUserDTO)HttpContext.Current.Items["user"];; if (new ServicesServices().RequestService(_userWithData.user_id, request)) { return(Json(new StatusChangeDTO("service_requested"))); } return(Conflict()); }
public int?SaveServiceRequest(string user, ServiceRequestDTO data, bool isDraft = true) { var rh = RequestHandlerFactory.Instance.GetHandler(data); if (rh == null) { throw new NotImplementedException(); } rh.User = new UserAndRoleDTO { Username = user }; rh.ServiceRequest = data; rh.IsDraft = isDraft; return(rh.Save()); }
public RequestHandlerBase GetHandler(ServiceRequestDTO data) { RequestHandlerBase handler = null; var type = data.GetType(); if (type == typeof(TransferAssetRequestDTO)) { handler = new TransferAssetReqHandler(); } else if (type == typeof(TerminationRequestDTO)) { handler = new TerminationReqHandler(); } else if (type == typeof(ReturnDeviceRequestDTO)) { handler = new ReturnDeviceReqHandler(); } else if (type == typeof(NewScenarioRequestDTO)) { handler = new NewScenarioReqHandler(); } else if (type == typeof(NewContractRequestDTO)) { handler = new NewContractReqHandler(); } else if (type == typeof(ErrorChargesRequestDTO)) { handler = new ErrorChargesReqHandler(); } else if (type == typeof(BrokenDeviceRequestDTO)) { handler = new BrokenDeviceReqHandler(); } if (handler != null) { handler.ServiceRequest = data; return(handler); } throw new NotImplementedException(); }
public void UpdateServiceRequest([FromBody] ServiceRequestDTO request, Guid id) { request.ID = id; _management.AddOrUpdateServiceRequest(request); }
public void SaveServiceRequest([FromBody] ServiceRequestDTO request) { _management.AddOrUpdateServiceRequest(request); }