Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }