//check if image exists public IActionResult CheckImage(CreateDeviceModel deviceData) { DBManagerShared dbsharedManager = new DBManagerShared(configuration); List <string> categories = dbsharedManager.GetCategories(); List <string> modelNames = dbsharedManager.GetModelNames(); deviceData.Categories = categories; deviceData.ModelNames = modelNames; //check if image exists, if modelName is supplied if (deviceData.Device.Model.ModelName != null) { int modelID = dbsharedManager.GetModelID(deviceData.Device.Model.ModelName); //check if image path exists string filename = $"Capture_{modelID}.png"; string imagepath = (string)AppDomain.CurrentDomain.GetData("webRootPath") + "\\DeviceContent\\" + filename; if (System.IO.File.Exists(imagepath)) { deviceData.Image = filename; } } return(View("CreateDevice", deviceData)); }
public Device CreateDevice(CreateDeviceModel model, string accountId) { var entity = model.ToDest(); entity.Id = accountId; PrepareCreate(entity); return(context.Device.Add(entity).Entity); }
public ActionResult Create() { var viewModel = new CreateDeviceModel { DeviceSecret = Guid.NewGuid().ToString().ToUpper() }; return(View(viewModel)); }
public AppUser MakeDeviceAccount(CreateDeviceModel model) { var entity = new AppUser { UserName = model.username, PasswordHash = model.password, ActivationCode = model.ActivationCode }; return(entity); }
public ValidationResult ValidateCreateDevice(ClaimsPrincipal principal, CreateDeviceModel model, string validActCode) { var builder = new AppResultBuilder(); if (model.ActivationCode != validActCode) { builder = builder.InvalidActivationCode(); } if (builder.Results.Any()) { return(ValidationResult.Fail(builder)); } return(ValidationResult.Pass()); }
public ActionResult Create(CreateDeviceModel model) { try { if (ModelState.IsValid) { var synchronizersRole = this.AmiClient.GetRoles(r => r.Name == "SYNCHRONIZERS").CollectionItem.FirstOrDefault(); var deviceRole = this.AmiClient.GetRoles(r => r.Name == "DEVICE").CollectionItem.FirstOrDefault(); var device = this.AmiClient.CreateDevice(model.ToSecurityDeviceInfo()); var securityUserInfo = new SecurityUserInfo { Password = model.DeviceSecret, Roles = new List <SecurityRoleInfo> { deviceRole, synchronizersRole }, UserName = model.Name, User = new SecurityUser { Key = Guid.NewGuid(), UserClass = UserClassKeys.ApplicationUser, UserName = model.Name, SecurityHash = Guid.NewGuid().ToString() }, }; this.AmiClient.CreateUser(securityUserInfo); TempData["success"] = Locale.DeviceCreatedSuccessfully; return(RedirectToAction("ViewDevice", new { id = device.Id })); } } catch (Exception e) { Trace.TraceError($"Unable to create device: {e}"); } TempData["error"] = Locale.UnableToCreateDevice; return(View(model)); }
//get model name and category names before returning to view public IActionResult CreateDevice() { //get data from database DBManagerShared sharedDBManager = new DBManagerShared(configuration); List <string> categories = sharedDBManager.GetCategories(); List <string> modelNames = sharedDBManager.GetModelNames(); //create view model CreateDeviceModel deviceData = new CreateDeviceModel(); deviceData.Categories = categories; deviceData.ModelNames = modelNames; deviceData.Device = new DeviceModel(); //check if image exists in folder, based on model ID return(View(deviceData)); }
public ActionResult AddNewDevice(CreateDeviceModel model) { if (Session["logUserID"] == null) { return(RedirectToAction("Logout", "Users")); } Device newDevice = new Device(); List <Device> listDevice = db.Devices.ToList(); int newID = int.Parse(listDevice.Last().device_id.Substring(1)) + 1; newDevice.device_id = "P" + newID; newDevice.device_name = model.device_name; newDevice.description = model.description; newDevice.device_status = 2; db.Devices.Add(newDevice); db.SaveChanges(); return(RedirectToAction("Index", "Admin")); }
public void Handle(PayloadMessage message) { try { if (message.Value == null || message.Value == "null") { LogResult.Report(Log, "log_ForInfo", "Kafka Message is Null"); return; } string s = message.Value; if (CreateDeviceEvent != null && CreateDeviceEvent.ActionUTC != null) { if (CreateDeviceEvent.ActionUTC.ToString() != null && message.Value.Contains(CreateDeviceEvent.ActionUTC.ToString("yyyy-MM-ddThh:mm:ss")) && message.Value.Contains(CreateDeviceEvent.ReceivedUTC.ToString()) && CreateDeviceEvent.DeviceUID.ToString() != null && message.Value.Contains(CreateDeviceEvent.DeviceUID.ToString())) { deviceServiceCreateResponse = JsonConvert.DeserializeObject <CreateDeviceModel>(message.Value); } LogResult.Report(Log, "log_ForInfo", string.Format("Response Received With Offset {0}: {1}", message.OffSet, message.Value)); if (UpdateDeviceEvent != null && UpdateDeviceEvent.ActionUTC != null && UpdateDeviceEvent.DeviceUID != Guid.Empty) { if (UpdateDeviceEvent.ActionUTC.ToString() != null && message.Value.Contains(UpdateDeviceEvent.ActionUTC.ToString("yyyy-MM-ddThh:mm:ss")) && message.Value.Contains(UpdateDeviceEvent.ReceivedUTC.ToString()) && UpdateDeviceEvent.DeviceUID.ToString() != null && message.Value.Contains(UpdateDeviceEvent.DeviceUID.ToString())) { deviceServiceUpdateResponse = JsonConvert.DeserializeObject <UpdateDeviceModel>(message.Value); } LogResult.Report(Log, "log_ForInfo", string.Format("Response Received With Offset {0}: {1}", message.OffSet, message.Value)); } } } catch (Exception e) { LogResult.Report(Log, "log_ForError", "Got Error While Handling Response", e); throw new Exception(e + "Got Error While Handling Response"); } }
public async Task <IActionResult> Create(CreateDeviceModel model) { if (ModelState.IsValid) { var validCode = _service.GetActivationCode(model.username); var validationResult = _service.ValidateCreateDevice(User, model, validCode); if (!validationResult.Valid) { return(BadRequest(validationResult.Result)); } //create user account var account = _service.MakeDeviceAccount(model); using (var trans = context.Database.BeginTransaction()) { var result = await _identityService.CreateUserWithRolesTransactionAsync(account, model.password, new List <string>() { Data.RoleName.Device }); if (result.Succeeded) { //create device var entity = _service.CreateDevice(model, account.Id); context.SaveChanges(); trans.Commit(); return(Created($"/{ApiEndpoint.DEVICE_API}?id={entity.Id}", new AppResultBuilder().Success(entity.Id))); } foreach (var err in result.Errors) { ModelState.AddModelError(err.Code, err.Description); } } } var builder = ResultHelper.MakeInvalidAccountRegistrationResults(ModelState); return(BadRequest(builder.Results)); }
//Add Device to Database public IActionResult AddDeviceToDB(CreateDeviceModel deviceData) { //initializing DB managers DBManagerDevice dbManager = new DBManagerDevice(configuration); DBManagerShared dbsharedManager = new DBManagerShared(configuration); int modelID = dbsharedManager.GetModelID(deviceData.Device.Model.ModelName); //check if image exists // string filename = $"Capture_{modelID}.png"; string imagepath = deviceData.Image; string _webroot = (string)AppDomain.CurrentDomain.GetData("webRootPath"); if (!imagepath.Contains(_webroot)) { //convet image source to byte array string sourceimage = deviceData.Image; string base64 = sourceimage.Substring(sourceimage.IndexOf(',') + 1); byte[] datastream = Convert.FromBase64String(base64); //convert byte array to image file using (MemoryStream m = new MemoryStream(datastream)) { using (Image image = Image.FromStream(m)) { string root = (string)AppDomain.CurrentDomain.GetData("webRootPath"); string webroot = root + "\\DeviceContent"; string filename = "\\Capture.png"; if (Directory.Exists(webroot)) { // save image to directory image.Save(webroot + filename, ImageFormat.Png); m.Dispose(); image.Dispose(); datastream = null; //get filename deviceData.Image = filename; } } } } //Add device to database DeviceModel data = deviceData.Device; data.ChangedBy = HttpContext.Session.GetString("uniLogin"); int deviceID = dbManager.CreateDevice(data); //return device info to Edit view data = dbManager.GetDeviceInfoWithLocation(deviceID); List <DeviceModel> logs = dbManager.GetDeviceLogs(deviceID); List <string> categories = dbsharedManager.GetCategories(); List <string> modelNames = dbsharedManager.GetModelNames(); modelID = dbsharedManager.GetModelID(data.Model.ModelName); EditDeviceModel editdata = new EditDeviceModel(); editdata.Device = data; editdata.Logs = logs; editdata.Categories = categories; editdata.ModelNames = modelNames; editdata.Room = new string($"{data.Location.Location.Building}.{data.Location.Location.RoomNumber.ToString()}"); editdata.Shelf = new string($"{data.Location.ShelfName}.{data.Location.ShelfLevel}.{data.Location.ShelfSpot}"); editdata.ImagePath = $"Capture_{modelID}.png"; return(View("EditView", editdata)); }