示例#1
0
        public async Task <ActionResult> Put([FromBody] GrupoDTOUpdate grupo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var result = await _service.Put(grupo);

                if (result != null)
                {
                    return(Ok(await _service.Get(result.Idgrupo)));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (ArgumentException ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
示例#2
0
        public async Task <GrupoDTOUpdateReturn> Put(GrupoDTOUpdate grupo)
        {
            try
            {
                var model  = _mapper.Map <GrupoModel>(grupo);
                var entity = _mapper.Map <Grupo>(model);

                entity.Lojas.ToList().ForEach(x => x.Grupo                  = entity);
                entity.Lojas.ToList().ForEach(x => x.Ativo                  = 'A');
                entity.Lojas.ToList().ForEach(x => x.Datadeinclusao         = DateTime.UtcNow);
                entity.Lojas.ToList().ForEach(x => x.Usuariodeinclusao      = _currentUserAccessor.GetCurrentUser().Idusuario);
                entity.Lojas.ToList().ForEach(x => x.Fkparceiro             = _currentUserAccessor.GetCurrentUser().Idparceiro);
                entity.Parametros.ToList().ForEach(x => x.Grupo             = entity);
                entity.Parametros.ToList().ForEach(x => x.Ativo             = 'A');
                entity.Parametros.ToList().ForEach(x => x.Datadeinclusao    = DateTime.UtcNow);
                entity.Parametros.ToList().ForEach(x => x.Usuariodeinclusao = _currentUserAccessor.GetCurrentUser().Idusuario);
                entity.Parametros.ToList().ForEach(x => x.Fkparceiro        = _currentUserAccessor.GetCurrentUser().Idparceiro);

                var _itemCadastrado = await _repository.SelectAsync(entity.Idgrupo);

                foreach (Loja loja in _itemCadastrado.Lojas)
                {
                    if (entity.Lojas.FirstOrDefault(x => x.Idloja == loja.Idloja) == null)
                    {
                        loja.Ativo               = 'I';
                        loja.Datadeinativacao    = DateTime.UtcNow;
                        loja.Usuariodeinativacao = _currentUserAccessor.GetCurrentUser().Idusuario;

                        entity.Lojas.Add(loja);
                    }
                }
                foreach (Parametro parametro in _itemCadastrado.Parametros)
                {
                    if (entity.Parametros.FirstOrDefault(x => x.Idparametro == parametro.Idparametro) == null)
                    {
                        parametro.Ativo               = 'I';
                        parametro.Datadeinativacao    = DateTime.UtcNow;
                        parametro.Usuariodeinativacao = _currentUserAccessor.GetCurrentUser().Idusuario;

                        entity.Parametros.Add(parametro);
                    }
                }

                foreach (Loja loja in entity.Lojas)
                {
                    var _itemFilhoCadastrado = _itemCadastrado.Lojas.FirstOrDefault(x => x.Idloja == loja.Idloja);
                    if (_itemFilhoCadastrado != null)
                    {
                        loja.Usuariodeinclusao = _itemFilhoCadastrado.Usuariodeinclusao;
                        loja.Datadeinclusao    = _itemFilhoCadastrado.Datadeinclusao;
                    }
                }
                foreach (Parametro parametro in entity.Parametros)
                {
                    var _itemFilhoCadastrado = _itemCadastrado.Parametros.FirstOrDefault(x => x.Idparametro == parametro.Idparametro);
                    if (_itemFilhoCadastrado != null)
                    {
                        parametro.Usuariodeinclusao = _itemFilhoCadastrado.Usuariodeinclusao;
                        parametro.Datadeinclusao    = _itemFilhoCadastrado.Datadeinclusao;
                    }
                }

                var result = await _repository.UpdateAsync(entity, entity.Idgrupo);

                var retornodeAlteracao = await _repository.SelectAsync(entity.Idgrupo);

                return(_mapper.Map <GrupoDTOUpdateReturn>(retornodeAlteracao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }