public Int32 ValidateCreate(PRODUTO item, USUARIO usuario) { try { // Verifica existencia prévia if (_baseService.CheckExist(item, usuario.ASSI_CD_ID) != null) { return(1); } // Completa objeto item.PROD_IN_ATIVO = 1; item.ASSI_CD_ID = usuario.ASSI_CD_ID; item.PROD_DT_ULTIMA_MOVIMENTACAO = DateTime.Today; MOVIMENTO_ESTOQUE_PRODUTO movto = new MOVIMENTO_ESTOQUE_PRODUTO(); // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, ASSI_CD_ID = usuario.ASSI_CD_ID, USUA_CD_ID = usuario.USUA_CD_ID, LOG_NM_OPERACAO = "AddPROD", LOG_IN_ATIVO = 1, LOG_TX_REGISTRO = Serialization.SerializeJSON <PRODUTO>(item) }; // Atualiza preços // Persiste produto Int32 volta = _baseService.Create(item, log, movto); // Cria linha de estoque List <FILIAL> filiais = _filService.GetAllItens(usuario.ASSI_CD_ID); if (usuario.PERFIL.PERF_SG_SIGLA != "ADM") { filiais = filiais.Where(x => x.FILI_CD_ID == usuario.FILI_CD_ID).ToList(); } foreach (var filial in filiais) { PRODUTO_ESTOQUE_FILIAL est = new PRODUTO_ESTOQUE_FILIAL(); est.FILI_CD_ID = filial.FILI_CD_ID; est.PREF_DS_JUSTIFICATIVA = null; est.PREF_DT_ULTIMO_MOVIMENTO = null; est.PREF_IN_ATIVO = 1; est.PREF_NR_MARKUP = 0; est.PREF_QN_ESTOQUE = 0; est.PREF_QN_QUANTIDADE_ALTERADA = 0; est.PROD_CD_ID = item.PROD_CD_ID; Int32 volta1 = _estService.Create(est); } return(volta); } catch (Exception ex) { throw; } }
public Int32 ValidateCreateLeve(PRODUTO item, USUARIO usuario) { try { // Verifica existencia prévia // Completa objeto item.PROD_IN_ATIVO = 1; item.ASSI_CD_ID = usuario.ASSI_CD_ID; item.PROD_DT_ULTIMA_MOVIMENTACAO = DateTime.Today; MOVIMENTO_ESTOQUE_PRODUTO movto = new MOVIMENTO_ESTOQUE_PRODUTO(); // Monta Log LOG log = new LOG() { LOG_DT_DATA = DateTime.Now, ASSI_CD_ID = usuario.ASSI_CD_ID, USUA_CD_ID = usuario.USUA_CD_ID, LOG_NM_OPERACAO = "AddPROD", LOG_IN_ATIVO = 1, LOG_TX_REGISTRO = null }; // Persiste produto Int32 volta = _baseService.Create(item, log, movto); // Monta movimento estoque movto.MOEP_DT_MOVIMENTO = DateTime.Today; movto.MOEP_IN_ATIVO = 1; movto.MOEP_IN_TIPO_MOVIMENTO = 1; movto.MOEP_QN_QUANTIDADE = 0; movto.PROD_CD_ID = item.PROD_CD_ID; movto.USUA_CD_ID = usuario.USUA_CD_ID; movto.ASSI_CD_ID = usuario.ASSI_CD_ID; // Persiste estoque volta = _movService.Create(movto); return(volta); } catch (Exception ex) { throw; } }
public Int32 Create(PRODUTO item, LOG log, MOVIMENTO_ESTOQUE_PRODUTO movto) { using (DbContextTransaction transaction = Db.Database.BeginTransaction(IsolationLevel.ReadCommitted)) { try { _logRepository.Add(log); _baseRepository.Add(item); //_movRepository.Add(movto); transaction.Commit(); return(0); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }