Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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));
            }
        }