public IActionResult GetItems() { string email = Request.Headers["Email"]; string password = Request.Headers["Password"]; List <ItemCreateEditModel> itemModelList = new List <ItemCreateEditModel>(); ItemCreateEditModel itemModel = new ItemCreateEditModel(); if (String.IsNullOrEmpty(email) || String.IsNullOrEmpty(password)) { return(BadRequest(_itemHelper.response(false, 500, "User can not authenticate please check email and password"))); } UserManager user = _userManagerService.AuthenticateUser(email, password); if (user == null) { return(BadRequest(_itemHelper.response(false, 500, "User model is empty"))); } var items = _itemsService.GetAllItems(); if (items == null) { return(Ok(_itemHelper.response(true, 200, "No Item found"))); } foreach (var item in items) { itemModel = _itemHelper.EntityToModel(item); itemModelList.Add(itemModel); } return(Ok(itemModelList)); }
public IActionResult SearchItem(string name) { ItemCreateEditModel itemModel = new ItemCreateEditModel(); string email = Request.Headers["Email"]; string password = Request.Headers["Password"]; if (String.IsNullOrEmpty(email) || String.IsNullOrEmpty(password)) { return(BadRequest(_itemHelper.response(false, 500, "User can not authenticate please check email and password"))); } UserManager user = _userManagerService.AuthenticateUser(email, password); if (user == null) { return(BadRequest(_itemHelper.response(false, 500, "User model is empty"))); } //var userList = _userManagerService.GetAllUsers(); if (string.IsNullOrEmpty(name)) { return(BadRequest(_itemHelper.response(false, 500, "Item name required"))); } Items item = _itemsService.SearchItemByName(name); if (item == null) { return(BadRequest(_itemHelper.response(false, 500, "Item not found of this name"))); } itemModel = _itemHelper.EntityToModel(item); return(Ok(itemModel)); }
public ItemCreateEditModel EntityToModel(Items item) { List <PictureModel> pictureModel = new List <PictureModel>(); List <DocumentModel> documentModel = new List <DocumentModel>(); ItemCreateEditModel itemModel = new ItemCreateEditModel(); itemModel.Id = item.Id; itemModel.Name = item.Name; itemModel.Soort = item.Soort; itemModel.Merk = item.Merk; itemModel.Type = item.Type; itemModel.SerieNummer = item.SerieNummer; itemModel.Status = item.Status; itemModel.Locatie = item.Locatie; itemModel.Accessoires = item.Accessoires; itemModel.Opmerking = item.Opmerking; itemModel.DatumAankoop = DateTimeFormat(item.DatumAankoop); itemModel.KeurDatum = DateTimeFormat(item.KeurDatum); itemModel.KeurInterval = item.KeurInterval; itemModel.KeurIntervalType = item.KeurIntervalType; itemModel.VervalDatum = DateTimeFormat(item.VervalDatum); itemModel.VrijVeld = item.VrijVeld; itemModel.VrijeDatum = DateTimeFormat(item.VrijeDatum); //UserId = userId, itemModel.QrCodePath = item.QrCodePath; foreach (var picture in item.Pictures.ToList()) { PictureModel model = new PictureModel { Binary = picture.Binary, Name = picture.Name, Path = picture.Path, }; pictureModel.Add(model); } foreach (var document in item.Documents.ToList()) { DocumentModel model = new DocumentModel { Binary = document.Binary, Name = document.Name, Path = document.Path, }; documentModel.Add(model); } itemModel.Pictures = pictureModel; itemModel.Documents = documentModel; return(itemModel); }
public void InsertPictures(int itemId, int userId, ItemCreateEditModel itemModel, ItemReturnModel itemReturnModel) { var pictureDirectory = _configuration.GetConnectionString("PictureDirectory"); foreach (var picture in itemModel.Pictures.Select(x => x.PictureString).ToList()) { Guid guid = Guid.NewGuid(); string pictureFileName = "", path = "", pictureType = "", extension = ""; //var pictureString = picture.Replace("data:image/png|tiff|jpg|gif;base64,", ""); var pictureString = picture.Split(',')[1]; //pictureString = picture.ToString(); pictureType = picture.Substring(0, picture.IndexOf(";")); pictureType = pictureType.Replace("data:", ""); extension = GetExtensionFromMimeType(pictureType); pictureFileName = Convert.ToString(guid) + extension; //string converted = pictureString.Replace('-', '+'); //converted = converted.Replace('_', '/'); byte[] pictureBytes = Convert.FromBase64String(pictureString); //Store Image in azure Blob var _task = Task.Run(() => this.UploadFileToBlobAsync(pictureFileName, pictureBytes, pictureType, pictureDirectory)); _task.Wait(); path = _task.Result; //store image at location //string path = Path.Combine(_hostingEnvironment.WebRootPath, "Pictures", pictureFileName); //System.IO.File.WriteAllBytesAsync(path, pictureBytes); Pictures picturesEntity = new Pictures() { ItemId = itemId, //Binary = pictureBytes.ToArray(), Name = pictureFileName, Path = path, CreatedBy = userId }; itemReturnModel.PicturesPath.Add(path); _picturesService.InsertPictures(picturesEntity); } }
public void InsertDocuments(int itemId, int userId, ItemCreateEditModel itemDataModel, ItemReturnModel itemDataReturnModel) { var documentDirectory = _configuration.GetConnectionString("DocumentDirectory"); foreach (var document in itemDataModel.Documents.Select(x => x.DocumentString).ToList()) { //var documentString = doc.Replace("data:image/png|tiff|jpg|gif;base64,", ""); Guid guid = Guid.NewGuid(); string fileName = Convert.ToString(guid); string path = "", documentType = "", extension = ""; var documentString = document.Split(',')[1]; documentType = document.Substring(0, document.IndexOf(";")); documentType = documentType.Replace("data:", ""); //Get Extension from file type extension = GetExtensionFromMimeType(documentType); fileName = Convert.ToString(guid) + extension; byte[] ducumentBytes = Convert.FromBase64String(documentString); //Store Image in azure Blob var _task = Task.Run(() => this.UploadFileToBlobAsync(fileName, ducumentBytes, documentType, documentDirectory)); _task.Wait(); path = _task.Result; //Store Image bytes in sql //byte[] documentBytes = Convert.FromBase64String(document); //path = Path.Combine(_hostingEnvironment.WebRootPath, "Documents", fileName); //System.IO.File.WriteAllBytesAsync(path, documentBytes); Documents documentEntity = new Documents() { ItemId = itemId, //Binary = documentBytes.ToArray(), Name = fileName, Path = path, CreatedBy = userId }; itemDataReturnModel.DocumentsPath.Add(path); _documentsService.InsertDocument(documentEntity); } }
public Items ModelToEntity(ItemCreateEditModel itemModel, int userId, Items item) { //Items item = new Items(); item.Name = itemModel.Name; item.Soort = itemModel.Soort; item.Merk = itemModel.Merk; item.Type = itemModel.Type; item.SerieNummer = itemModel.SerieNummer; item.Status = itemModel.Status; item.Locatie = itemModel.Locatie; item.Accessoires = itemModel.Accessoires; item.Opmerking = itemModel.Opmerking; item.DatumAankoop = DateTimeFormat(itemModel.DatumAankoop); item.KeurDatum = DateTimeFormat(itemModel.KeurDatum); item.KeurInterval = itemModel.KeurInterval; item.KeurIntervalType = itemModel.KeurIntervalType; item.VervalDatum = DateTimeFormat(itemModel.VervalDatum); item.VrijVeld = itemModel.VrijVeld; item.VrijeDatum = DateTimeFormat(itemModel.VrijeDatum); item.UserId = userId; item.QrCodePath = itemModel.QrCodePath; item.CreatedBy = userId; return(item); }
public IActionResult Create([FromBody] ItemCreateEditModel itemModel) { string email = Request.Headers["Email"]; string password = Request.Headers["Password"]; ItemReturnModel itemReturnModel = new ItemReturnModel(); itemReturnModel.PicturesPath = new List <string>(); itemReturnModel.DocumentsPath = new List <string>(); //StatusResponse response = new StatusResponse(); //add pictures //itemModel.PictureBinary = itemModel.PictureBinary.Replace("data:image/png|tiff|jpg|gif;base64,", ""); //byte[] picture = Convert.FromBase64String(itemModel.PictureBinary); try { if (String.IsNullOrEmpty(email) || String.IsNullOrEmpty(password)) { return(BadRequest(_itemHelper.response(false, 401, "Email or Password is empty"))); } UserManager user = _userManagerService.AuthenticateUser(email, password); if (user == null) { return(BadRequest(_itemHelper.response(false, 401, "User can not authenticate please check email and password"))); } CommonEnum.UserRoleType roletype = (CommonEnum.UserRoleType)Enum.Parse(typeof(CommonEnum.UserRoleType), user.RoleManager.Name); if (roletype != CommonEnum.UserRoleType.admin) { return(BadRequest(_itemHelper.response(false, 401, "User not have access for create item"))); } //Generate QR code if (!String.IsNullOrEmpty(itemModel.Name)) { Guid fileName = Guid.NewGuid(); itemModel.QrCodePath = _itemHelper.QrProcess(itemModel.Name, Convert.ToString(fileName)); } //Assign model data to entity Items item = _itemHelper.ModelToEntity(itemModel, user.Id, new Items()); _itemsService.InsertItem(item); //Insert Pictures if (itemModel.Pictures.Count > 0) { _itemHelper.InsertPictures(item.Id, user.Id, itemModel, itemReturnModel); } //Insert Documents if (itemModel.Documents.Count > 0) { _itemHelper.InsertDocuments(item.Id, user.Id, itemModel, itemReturnModel); } itemReturnModel.Id = item.Id; itemReturnModel.QrCodePath = item.QrCodePath; itemReturnModel.Status = true; itemReturnModel.StatusCode = 201; return(Ok(itemReturnModel)); } catch (Exception ex) { return(BadRequest(_itemHelper.response(false, 504, "Internal server error"))); } }
public IActionResult Edit([FromBody] ItemCreateEditModel itemModel) { string email = Request.Headers["Email"]; string password = Request.Headers["Password"]; //ItemHelper itemHelper = new ItemHelper(_hostingEnvironment); ItemReturnModel itemReturnModel = new ItemReturnModel(); try { if (String.IsNullOrEmpty(email) || String.IsNullOrEmpty(password)) { return(BadRequest(_itemHelper.response(false, 500, "User can not authenticate please check email and password"))); } if (itemModel == null) { return(BadRequest(_itemHelper.response(false, 500, "Item model is empty"))); } UserManager user = _userManagerService.AuthenticateUser(email, password); if (user == null) { return(BadRequest(_itemHelper.response(false, 500, "User model is empty"))); } CommonEnum.UserRoleType roletype = (CommonEnum.UserRoleType)Enum.Parse(typeof(CommonEnum.UserRoleType), user.RoleManager.Name); if (itemModel.Id <= 0) { return(BadRequest(_itemHelper.response(false, 500, "Item id is not valid or empty"))); } if ((roletype != CommonEnum.UserRoleType.admin) && (roletype != CommonEnum.UserRoleType.management)) { return(BadRequest(_itemHelper.response(false, 500, "You dont have right's to update entries"))); } Items item = _itemsService.GetItemDataById(itemModel.Id); if (item != null && item.Name != itemModel.Name) { Guid fileName = Guid.NewGuid(); //Generate QR code itemModel.QrCodePath = _itemHelper.QrProcess(itemModel.Name, Convert.ToString(fileName)); } if (!String.IsNullOrEmpty(itemModel.Name)) { item = _itemHelper.ModelToEntity(itemModel, user.Id, item); item.Id = itemModel.Id; bool isSuccess = _itemsService.UpdateItem(item); if (isSuccess == false) { return(BadRequest(_itemHelper.response(false, 500, "Internal server error"))); } //Insert Pictures if (itemModel.Pictures.Count > 0) { try { _itemHelper.InsertPictures(item.Id, user.Id, itemModel, itemReturnModel); } catch (Exception ex) { throw; } } //Insert Documents if (itemModel.Documents.Count > 0) { _itemHelper.InsertDocuments(item.Id, user.Id, itemModel, itemReturnModel); } itemReturnModel.Id = itemModel.Id; itemReturnModel.QrCodePath = item.QrCodePath; itemReturnModel.Status = true; itemReturnModel.StatusCode = 200; return(Ok(itemReturnModel)); } return(BadRequest(_itemHelper.response(false, 500, "Internal server error"))); } catch (Exception ex) { return(BadRequest(_itemHelper.response(false, 500, ex.Message))); } }