public async Task <ApiResponse <AppProductsGetDto> > UpdateImageAppProduct(AppproductImageDto dto) { AppProductsGetDto resultDto = new AppProductsGetDto(); Metadata metadata = new Metadata { IsValid = true, Message = "" }; ApiResponse <AppProductsGetDto> response = new ApiResponse <AppProductsGetDto>(resultDto); var product = await _appProductsService.GetById(dto.Id); if (product == null) { metadata.IsValid = false; metadata.Message = "Codigo de producto no existe, verifique por favor"; response.Meta = metadata; response.Data = resultDto; return(response); } var NombreArchivo = $@"Producto_{product.Code}_{DateTime.Now.Ticks}" + ".png"; var FechaCreacion = DateTime.Now; var Ruta = _paginationOptions.FolderDocumentation + "\\"; // //CREA EL ARCHIVO DE IMAGEN //Convert Base64 Encoded string to Byte Array. string base64 = dto.Data; byte[] imageBytes = Convert.FromBase64String(base64); //Ruta y nombre de la imagen var imageFullName = Ruta + NombreArchivo; //creo el fichero await System.IO.File.WriteAllBytesAsync(imageFullName, imageBytes); product.UrlImage = NombreArchivo; var productUpdated = await _appProductsService.Update(product); var result = await _appProductsService.GetProduct(product.Id); resultDto = result.Data; metadata.IsValid = true; metadata.Message = "Imagen de producto Actualizada"; response.Meta = metadata; response.Data = resultDto; return(response); }
public async Task <List <AppRecipesGetDto> > GetRecipesGetDtoByProductId(AppRecipesQueryFilter filter) { List <AppRecipesGetDto> resultDto = new List <AppRecipesGetDto>(); var recipes = await GetAllRecipesByProductId(filter.AppproductsId); if (recipes != null) { if (filter.SearchText != "" && filter.SearchText != null) { recipes = recipes.Where(x => x.Description.Trim().ToLower().Contains(filter.SearchText.Trim().ToLower()) || x.Code.Trim().ToLower().Contains(filter.SearchText.Trim().ToLower()) || x.Formula.Trim().ToLower().Contains(filter.SearchText.Trim().ToLower())).ToList(); } List <AppRecipesGetDto> recipesDto = _mapper.Map <List <AppRecipesGetDto> >(recipes); foreach (var item in recipesDto) { AppProducts appProductsFind = await _appProductsService.GetById((int)item.AppproductsId); if (appProductsFind != null) { AppProductsGetDto appProductsGetDto = _mapper.Map <AppProductsGetDto>(appProductsFind); item.AppProductsGetDto = appProductsGetDto; } AppVariables appVariablesFind = await _appVariablesService.GetById((int)item.AppVariableId); if (appVariablesFind != null) { AppVariablesGetDto appVariablesGetDto = _mapper.Map <AppVariablesGetDto>(appVariablesFind); item.AppVariablesGetDto = appVariablesGetDto; } if (item.AppIngredientsId != null) { AppIngredients appIngredientsFind = await _unitOfWork.AppIngredientsRepository.GetById((int)item.AppIngredientsId); if (appIngredientsFind != null) { AppIngredientsGetDto appIngredientsGetDto = _mapper.Map <AppIngredientsGetDto>(appIngredientsFind); item.AppIngredientsGetDto = appIngredientsGetDto; } } } resultDto = recipesDto; } return(resultDto); }
public async Task <ApiResponse <AppProductsGetDto> > GetProduct(int id) { AppProductsGetDto resultDto = new AppProductsGetDto(); Metadata metadata = new Metadata { IsValid = true, Message = "" }; ApiResponse <AppProductsGetDto> response = new ApiResponse <AppProductsGetDto>(resultDto); try { AppProducts appProductsFind = await GetById(id); if (appProductsFind == null) { metadata.IsValid = false; metadata.Message = "Codigo de producto no existe, verifique por favor"; response.Meta = metadata; response.Data = resultDto; return(response); } resultDto = _mapper.Map <AppProductsGetDto>(appProductsFind); AppUnits AppUnitsFind = await _appUnitsService.GetById((int)appProductsFind.AppUnitsId); if (AppUnitsFind != null) { AppUnitsGetDto appUnitsGetDto = _mapper.Map <AppUnitsGetDto>(AppUnitsFind); resultDto.AppUnitsGetDto = appUnitsGetDto; } AppUnitsFind = await _appUnitsService.GetById((int)appProductsFind.ProductionUnitId); if (AppUnitsFind != null) { AppUnitsGetDto appUnitsGetDto = _mapper.Map <AppUnitsGetDto>(AppUnitsFind); resultDto.ProductionUnitGetDto = appUnitsGetDto; } MtrTipoMoneda MtrTipoMonedaFind = await _mtrTipoMonedaService.GetById((long)appProductsFind.PrymaryMtrMonedaId); if (MtrTipoMonedaFind != null) { MtrTipoMonedaDto mtrTipoMonedaDto = _mapper.Map <MtrTipoMonedaDto>(MtrTipoMonedaFind); resultDto.PrymaryMtrMonedaGetDto = mtrTipoMonedaDto; } MtrTipoMonedaFind = await _mtrTipoMonedaService.GetById((long)appProductsFind.SecundaryMtrMonedaId); if (MtrTipoMonedaFind != null) { MtrTipoMonedaDto mtrTipoMonedaDto = _mapper.Map <MtrTipoMonedaDto>(MtrTipoMonedaFind); resultDto.SecundaryMtrMonedaGetDto = mtrTipoMonedaDto; } AppSubCategory AppSubCategoryFind = await _appSubCategoryService.GetById((int)appProductsFind.AppSubCategoryId); if (AppSubCategoryFind != null) { AppSubCategoryGetDto appSubCategoryGetDto = _mapper.Map <AppSubCategoryGetDto>(AppSubCategoryFind); resultDto.AppSubCategoryGetDto = appSubCategoryGetDto; } if (resultDto.UrlImage == "" || resultDto.UrlImage == null) { resultDto.Link = _paginationOptions.UrlGetFiles + "NoImage.png"; } else { resultDto.Link = _paginationOptions.UrlGetFiles + resultDto.UrlImage; } response.Meta = metadata; response.Data = resultDto; return(response); } catch (Exception ex) { metadata.IsValid = false; metadata.Message = ex.InnerException.Message; response.Meta = metadata; response.Data = resultDto; return(response); } }
public async Task <ApiResponse <AppProductsGetDto> > UpdateProducts(AppProductsUpdateDto appProductsUpdateDto) { AppProductsGetDto resultDto = new AppProductsGetDto(); Metadata metadata = new Metadata { IsValid = true, Message = "" }; ApiResponse <AppProductsGetDto> response = new ApiResponse <AppProductsGetDto>(resultDto); try { AppProducts appProductsFind = await GetById(appProductsUpdateDto.Id); if (appProductsFind == null) { metadata.IsValid = false; metadata.Message = "Codigo de producto no existe, verifique por favor"; response.Meta = metadata; response.Data = resultDto; return(response); } if (appProductsUpdateDto.ExternalCode == "") { metadata.IsValid = false; metadata.Message = "Codigo Externo no es valido"; response.Meta = metadata; response.Data = resultDto; return(response); } AppUnits appUnitsFind = await _appUnitsService.GetById((int)appProductsUpdateDto.AppUnitsId); if (appUnitsFind == null) { metadata.IsValid = false; metadata.Message = "Unidad venta del Producto No existe"; response.Meta = metadata; response.Data = resultDto; return(response); } appUnitsFind = await _appUnitsService.GetById((int)appProductsUpdateDto.ProductionUnitId); if (appUnitsFind == null) { metadata.IsValid = false; metadata.Message = "Unidad Produccion del Producto No existe"; response.Meta = metadata; response.Data = resultDto; return(response); } MtrTipoMoneda mtrTipoMonedaFind = await _unitOfWork.MtrTipoMonedaRepository.GetById((long)appProductsUpdateDto.PrymaryMtrMonedaId); if (mtrTipoMonedaFind == null) { metadata.IsValid = false; metadata.Message = "Moneda Primaria No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } mtrTipoMonedaFind = await _unitOfWork.MtrTipoMonedaRepository.GetById((long)appProductsUpdateDto.SecundaryMtrMonedaId); if (mtrTipoMonedaFind == null) { metadata.IsValid = false; metadata.Message = "Moneda Secundaria No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } AppSubCategory appSubCategory = await _unitOfWork.AppSubCategoryRepository.GetById((int)appProductsUpdateDto.AppSubCategoryId); if (appSubCategory == null) { metadata.IsValid = false; metadata.Message = "Subcategoria No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } appProductsFind.ProductionUnitId = appProductsUpdateDto.ProductionUnitId; appProductsFind.AppUnitsId = appProductsUpdateDto.AppUnitsId; appProductsFind.AppSubCategoryId = appProductsUpdateDto.AppSubCategoryId; appProductsFind.PrymaryMtrMonedaId = appProductsUpdateDto.PrymaryMtrMonedaId; appProductsFind.SecundaryMtrMonedaId = appProductsUpdateDto.SecundaryMtrMonedaId; appProductsFind.UnitPrice = appProductsUpdateDto.UnitPrice; appProductsFind.Description1 = appProductsUpdateDto.Description1; appProductsFind.Description2 = appProductsUpdateDto.Description2; appProductsFind.ExternalCode = appProductsUpdateDto.ExternalCode; appProductsFind.UserUpdate = appProductsUpdateDto.UsuarioConectado; appProductsFind.UpdatedAt = DateTime.Now; AppProducts appProductsUpdated = await Update(appProductsFind); if (appProductsUpdated != null) { resultDto = _mapper.Map <AppProductsGetDto>(appProductsUpdated); AppUnits AppUnitsFind = await _appUnitsService.GetById((int)appProductsUpdated.AppUnitsId); if (AppUnitsFind != null) { AppUnitsGetDto appUnitsGetDto = _mapper.Map <AppUnitsGetDto>(AppUnitsFind); resultDto.AppUnitsGetDto = appUnitsGetDto; } if (resultDto.UrlImage == "" || resultDto.UrlImage == null) { resultDto.Link = _paginationOptions.UrlGetFiles + "NoImage.png"; } else { resultDto.Link = _paginationOptions.UrlGetFiles + resultDto.UrlImage; } metadata.IsValid = true; metadata.Message = $"Producto: {resultDto.Code} Actualizado Satisfactoriamente!!"; } else { metadata.IsValid = false; metadata.Message = "Registro No actualizado"; } response.Meta = metadata; response.Data = resultDto; return(response); } catch (Exception ex) { metadata.IsValid = false; metadata.Message = ex.InnerException.Message; response.Meta = metadata; response.Data = resultDto; return(response); } }