public AssetDto UpdateAsset(UpdateAssetInput update) { Asset asset = repository.Get(update.Id); ObjectMapper.Map(update, asset); asset = repository.Update(asset); CurrentUnitOfWork.SaveChanges(); return(ObjectMapper.Map <AssetDto>(asset)); }
public void UpdateAsset(UpdateAssetInput input) { //We can use Logger, it is defined in ApplicationService base class. Logger.Info("Updating an asset for input: " + input); // All assets belong to a tenant. If not specified, put them in the default tenant. int tenantId = (AbpSession.TenantId != null) ? (int)AbpSession.TenantId : 1; _assetManager.InsertOrUpdateAsset(input.Id, input.Name, input.Description, input.AssetTypeId, "", input.Materials, tenantId); //We even do not call Update method of the repository. //Because an application service method is a 'unit of work' scope as default. //ABP automatically saves all changes when a 'unit of work' scope ends (without any exception). }
public ActionResult Edit(Guid id) { UpdateAssetInput viewModel = new UpdateAssetInput(); try { viewModel = _assetService.GetEdit(id, _currentUser.CompanyName); viewModel.CompanyName = _currentUser.CompanyName; viewModel.NowDate = _date.Now; viewModel.CustomFieldsDto = _assetService.GetEditCustomFields(viewModel.Id, _currentUser.CompanyName); viewModel.DetailAssetToolKitsDto = _assetService.GetEditToolKits(id, _currentUser.CompanyName); viewModel.Categories = _assetService.GetAllCategories(_currentUser.CompanyName); viewModel.ErrorCode = ErrorCodeHelper.None; viewModel.ErrorDescription = ""; // ViewBag.Stock = _stock.GetStockInformation(id, _currentUser.CompanyName); } catch (Exception e) { viewModel.ErrorCode = ErrorCodeHelper.Error; viewModel.ErrorDescription = "Error al obtener datos."; } return(View("_edit", viewModel)); }
public void Update(UpdateAssetInput input) { var @entity = _assetRepository.Get(input.Id); var listAssetCustomFields = _assetManager.GetAssetCustomFields(input.Id, input.CompanyName).ToList(); var listAssetToolKits = _assetManager.GetAssetToolAsset(input.Id, input.CompanyName).ToList(); if (@entity == null) { throw new UserFriendlyException("No se pudo encontrar el artículo, fue borrado o no existe."); } if (_assetManager.AssetExist(@entity.Code, input.Id, input.CompanyName)) { throw new UserFriendlyException("Existe un Artículo con el mismo Código."); } @entity.Name = input.Name; @entity.Description = input.Description; @entity.Code = input.Code; @entity.Brand = input.Brand; @entity.Series = input.Series; @entity.ModelStr = input.ModelStr; @entity.Plate = input.Plate; @entity.Barcode = input.Barcode; @entity.PurchaseDate = input.PurchaseDate; @entity.IsAToolInKit = input.IsAToolInKit; @entity.SetDepretiation(input.AdmissionDate, input.DepreciationMonthsQty); @entity.AssetType = input.AssetType; @entity.CategoryId = input.CategoryId; @entity.LastModificationTime = _dateTime.Now; @entity.LastModifierUserId = input.LastModifierUserId; IList <CustomField> newCustomFields = new List <CustomField>(); IList <CustomField> updateCustomFields = new List <CustomField>(); IList <CustomField> deleteCustomFields = new List <CustomField>(); IList <ToolAsset> newToolKits = new List <ToolAsset>(); IList <ToolAsset> updateToolKits = new List <ToolAsset>(); IList <ToolAsset> deleteToolKits = new List <ToolAsset>(); foreach (var item in input.CustomFieldsDto) { if (listAssetCustomFields.Exists(a => a.Id == item.Id)) { CustomField updateCustomField = listAssetCustomFields.FirstOrDefault(a => a.Id == item.Id); if (item.Delete == 1) { if (item.Saved == 1) { updateCustomField.IsDeleted = true; deleteCustomFields.Add(updateCustomField); } } else if (item.Update == 1) { updateCustomField.Name = item.Name; updateCustomField.SetValue(item.CustomFieldType, item.Value); updateCustomField.LastModificationTime = _dateTime.Now; updateCustomField.LastModifierUserId = input.CreatorGuidId; updateCustomField.CompanyName = input.CompanyName; updateCustomFields.Add(updateCustomField); } } else { var @createDetail = CustomField.Create(item.Name, item.CustomFieldType, @entity.Id, item.Value, item.GetStringValue(), item.GetDateValue(), item.GetIntValue(), item.GetDoubleValue(), input.CreatorGuidId, _dateTime.Now, input.CompanyName); newCustomFields.Add(@createDetail); } } foreach (var item in input.DetailAssetToolKitsDto) { if (listAssetToolKits.Exists(a => a.Code.Equals(item.Code))) { ToolAsset updateToolKit = listAssetToolKits.FirstOrDefault(a => a.Id == item.Id); if (item.Delete == 1) { if (item.Saved == 1) { updateToolKit.IsDeleted = true; deleteToolKits.Add(updateToolKit); } } else if (item.Update == 1) { updateToolKit.Name = item.Name; updateToolKit.Quatity = item.Quatity; updateToolKit.LastModificationTime = _dateTime.Now; updateToolKit.LastModifierUserId = input.CreatorGuidId; updateToolKit.CompanyName = input.CompanyName; updateToolKits.Add(updateToolKit); } } else { var entityTool = ToolAsset.Create(item.Name, item.Name, item.Code, @entity.Id, input.CreatorGuidId, _dateTime.Now, item.Quatity, input.CompanyName); newToolKits.Add(entityTool); } } if (HasFile(input.Image)) { string folderPath = "~/AssetsImages/"; string fileName = input.Image.FileName;//input.Id + ".png" var mappedPath = HostingEnvironment.MapPath(folderPath) + fileName; var directory = new DirectoryInfo(HostingEnvironment.MapPath(folderPath)); if (directory.Exists == false) { directory.Create(); } string folderPathRelative = "../../AssetsImages/"; input.ImagePath = folderPathRelative + fileName; input.Image.SaveAs(mappedPath); @entity.SetImage(input.ImagePath); } _assetManager.Update(@entity, newCustomFields, deleteCustomFields, updateCustomFields, newToolKits, deleteToolKits, updateToolKits); }
public AssetDto UpdateAsset([FromBody] UpdateAssetInput input) { return(assetAppService.UpdateAsset(input)); }
public ActionResult Edit()//IList<string> entity { UpdateAssetInput viewModel = new UpdateAssetInput(); try { viewModel = JsonConvert.DeserializeObject <UpdateAssetInput>(System.Web.HttpContext.Current.Request["AssetsDataSection"]); var imageToUpload = System.Web.HttpContext.Current.Request.Files["AssetsImagesSection"]; var guidid = viewModel.Id; var detalles = _assetService.Get(guidid); viewModel.NowDate = _date.Now; viewModel.Categories = _assetService.GetAllCategories(_currentUser.CompanyName); if (ModelState.IsValid) { /* if (string.IsNullOrEmpty(viewModel.Code)) * { * ModelState.AddModelError("Code", "* Requerido"); * viewModel.ErrorCode = ErrorCodeHelper.Error; * viewModel.ErrorDescription = "El código es requerido."; * viewModel.NowDate = _date.Now; * return PartialView("_edit", viewModel); * } * if (string.IsNullOrEmpty(viewModel.Name)) * { * ModelState.AddModelError("Name", "* Requerido"); * viewModel.ErrorCode = ErrorCodeHelper.Error; * viewModel.ErrorDescription = "El nombre es requerido."; * viewModel.NowDate = _date.Now; * return PartialView("_edit", viewModel); * } * if (viewModel.Price <= 0) * { * ModelState.AddModelError("Price", "* Requerido."); * viewModel.ErrorCode = ErrorCodeHelper.Error; * viewModel.ErrorDescription = "El precio debe ser mayor que 0."; * viewModel.NowDate = _date.Now; * return PartialView("_edit", viewModel); * } * if (viewModel.DepreciationMonthsQty <= 0) * { * ModelState.AddModelError("DepreciationMonthsQty", "* Requerido."); * viewModel.ErrorCode = ErrorCodeHelper.Error; * viewModel.ErrorDescription = "La cantidad de meses depreciables debe ser mayor que 0."; * viewModel.NowDate = _date.Now; * return PartialView("_edit", viewModel); * }*/ viewModel.MensualDepreciation = detalles.MensualDepreciation; viewModel.CostinBooks = detalles.CostinBooks; if (imageToUpload != null) { viewModel.Image = imageToUpload; if (!CheckImageFormat.IsImage(imageToUpload)) { viewModel.ErrorCode = ErrorCodeHelper.Error; viewModel.ErrorDescription = "Error al cargar la imagen seleccionada, la extensión debe ser de tipo *.jpg, *.png, *.gif, *.jpeg, *.PDF"; return(PartialView("_edit", viewModel)); } } viewModel.LastModifierUserId = _currentUser.CurrentUserId; viewModel.CompanyName = _currentUser.CompanyName; _assetService.Update(viewModel); viewModel.CustomFieldsDto = _assetService.GetEditCustomFields(viewModel.Id, _currentUser.CompanyName); viewModel.ErrorCode = ErrorCodeHelper.Ok; viewModel.NowDate = _date.Now; viewModel.ErrorDescription = "¡Artículo actualizado exitosamente!"; return(PartialView("_edit", viewModel)); } viewModel.ErrorCode = ErrorCodeHelper.Error; viewModel.ErrorDescription = "Error en los datos."; viewModel.NowDate = _date.Now; return(PartialView("_edit", viewModel)); } catch (Exception e) { viewModel.Categories = _assetService.GetAllCategories(_currentUser.CompanyName); viewModel.ErrorCode = ErrorCodeHelper.Error; viewModel.ErrorDescription = "Error al obtener datos."; viewModel.NowDate = _date.Now; return(PartialView("_edit", viewModel)); } }