public IActionResult RetiraEstoque(int id_nota) { bool operacao = true; //int id_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); List <Models.ItemNota> itens; CamadaNegocio.ItemNotaCamadaNegocio icn = new CamadaNegocio.ItemNotaCamadaNegocio(); itens = icn.Pesquisa(id_nota); CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); int qtde, id_prod; string lote; for (int i = 0; i < itens.Count() && operacao; i++) { id_prod = itens[i].Id_prod; lote = itens[i].Lote; qtde = itens[i].Qtde; operacao = ecn.AtualizaEstoque(id_prod, lote, qtde); } return(Json(new { operacao })); }
public IActionResult Criar([FromBody] Dictionary <string, string> dados, int id) { bool operacao; string msg; Models.ProdutoDist proddist = new Models.ProdutoDist(); proddist.Cod_ref = dados["cod_ref"]; proddist.Id_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); proddist.Cod_prod_dist = dados["codigo"]; CamadaNegocio.ProdDistCamadaNegocio pcn = new CamadaNegocio.ProdDistCamadaNegocio(); (operacao, msg) = pcn.Criar(proddist, dados["lote"], id); if (operacao && id == 0) { Models.Estoque estoque = new Models.Estoque(); estoque.Id_dist = proddist.Id_dist; estoque.Id_prod = proddist.Id; estoque.Lote = dados["lote"]; estoque.Saldo = Convert.ToInt32(dados["saldo"]); CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); operacao = ecn.AlterarEstoque(estoque); } return(Json(new { operacao, msg })); }
public IActionResult AlterarEstoque([FromBody] Dictionary <string, string> dados, int id_nota) { bool operacao = true; Models.Distribuidor dist; CamadaNegocio.DistribuidorCamadaNegocio dcn = new CamadaNegocio.DistribuidorCamadaNegocio(); string cnpjdist = Convert.ToInt64(dados["cnpjdist"]).ToString(@"00\.000\.000\/0000\-00"); dist = dcn.ObterCnpj(cnpjdist); List <Models.ItemNota> itens; CamadaNegocio.ItemNotaCamadaNegocio icn = new CamadaNegocio.ItemNotaCamadaNegocio(); itens = icn.Pesquisa(id_nota); CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); Models.Estoque estoque = new Models.Estoque(); for (int i = 0; i < itens.Count() && operacao; i++) { estoque.Id_dist = dist.Id; estoque.Id_prod = Convert.ToInt32(itens[i].Id_prod); estoque.Lote = itens[i].Lote; estoque.Saldo = itens[i].Qtde; operacao = ecn.AlterarEstoque(estoque); } return(Json(new { operacao })); }
public IActionResult Excluir(int id) { bool operacao; CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); Models.Estoque estoque = ecn.Obter(id); operacao = ecn.Excluir(id); int qtd = ecn.ObterTodosEstoque(estoque.Id_prod); if (operacao && qtd == 0) { CamadaNegocio.ProdDistCamadaNegocio pdcn = new CamadaNegocio.ProdDistCamadaNegocio(); pdcn.Excluir(estoque.Id_prod); } return(Json(new { operacao })); }
private (bool, string, int, string) ProcessImport(XmlDocument xmlDoc) { CamadaNegocio.ProdDistCamadaNegocio pdcn = new CamadaNegocio.ProdDistCamadaNegocio(); List <Models.ProdutoDist> pd = new List <Models.ProdutoDist>(); CamadaNegocio.NotaCamadaNegocio ncn = new CamadaNegocio.NotaCamadaNegocio(); Models.NotaFiscal notamodelo = new Models.NotaFiscal(); CamadaNegocio.ItemNotaCamadaNegocio incn = new CamadaNegocio.ItemNotaCamadaNegocio(); Models.ItemNota itemnota; CamadaNegocio.EstoqueCamadaNegocio ecn = new CamadaNegocio.EstoqueCamadaNegocio(); //dados para rastreamento List <string> rastroCod = new List <string>(); List <string> rastroLote = new List <string>(); List <string> codProd = new List <string>(); XmlNodeList xnList, xnList2; bool operacao, entrou, nosaldo; entrou = operacao = nosaldo = false; string msg = "Produtos sem Cadastro - Códigos: "; string msg2 = "Tais Itens Não possui Saldo Suficiente - Códigos: "; string qtdeaux, qtde; xnList = xmlDoc.GetElementsByTagName("prod"); notamodelo.Tipo = HttpContext.User.Claims.ToList()[1].Value; for (int i = 0; i < xnList.Count; i++) { string id_prod = xnList[i]["cProd"].InnerText; codProd.Add(id_prod); pd.Add(pdcn.ObterProd(id_prod)); if (pd[i] == null) { entrou = true; msg += id_prod + ", "; } //verifica estoque junto //verifica se há quantidade qtdeaux = xnList[i]["qTrib"].InnerText; qtde = ""; for (int j = 0; qtdeaux[j] != '.'; j++) { qtde += qtdeaux[j]; } operacao = ecn.VerificaEstoque(id_prod, Convert.ToInt32(qtde)); if (!operacao) { nosaldo = true; msg2 += id_prod + ", "; } } msg = msg.Remove(msg.Length - 2); msg += "."; msg2 = msg2.Remove(msg2.Length - 2); msg2 += "."; string dadosadd = ""; //todos produtos cadastrados e com estoques disponiveis if (!entrou && !nosaldo) { //dados nota fiscal notamodelo.Cod_dist = Convert.ToInt32(HttpContext.User.Claims.ToList()[3].Value); xnList = xmlDoc.GetElementsByTagName("infProt"); notamodelo.Chave = xnList[0]["chNFe"].InnerText; xnList = xmlDoc.GetElementsByTagName("ide"); notamodelo.Serie = Convert.ToInt32(xnList[0]["serie"].InnerText); notamodelo.Numero = Convert.ToInt32(xnList[0]["nNF"].InnerText); notamodelo.Data = Convert.ToDateTime(xnList[0]["dhEmi"].InnerText); xnList = xmlDoc.GetElementsByTagName("fat"); notamodelo.Valor_nf = GetDouble(xnList[0]["vLiq"].InnerText, 0d); //dados adicionais xnList = xmlDoc.GetElementsByTagName("infCpl"); dadosadd = xnList[0].InnerText; string[] infoadd = dadosadd.Split(","); if (infoadd.Length > 0) { string[] paciente = infoadd[0].Split(":"); if (paciente.Length > 0) { notamodelo.Paciente = paciente[1].Trim(); } if (infoadd.Length >= 2) { string[] medico = infoadd[1].Split(":"); if (medico.Length > 0) { notamodelo.Medico = medico[1].Trim(); } if (infoadd.Length >= 3) { string[] convenio = infoadd[2].Split(":"); if (convenio.Length > 0) { notamodelo.Convenio = convenio[1].Trim(); } if (infoadd.Length >= 4) { string[] data_cirurgia = infoadd[4].Split(":"); if (data_cirurgia.Length > 0) { notamodelo.Data_cirurgia = DateTime.ParseExact(data_cirurgia[1].Trim(), "dd/MM/yyyy", null); } if (infoadd.Length >= 5) { string[] hospital = infoadd[5].Split(":"); if (hospital.Length == 0) { notamodelo.Hospital = ""; } else { notamodelo.Hospital = hospital[1].Trim(); } } } } } } operacao = ncn.Criar(notamodelo); if (operacao) { xnList = xmlDoc.GetElementsByTagName("prod"); xnList2 = xmlDoc.GetElementsByTagName("infAdProd"); for (int i = 0; i < xnList.Count; i++) { itemnota = new Models.ItemNota(); itemnota.Id_nota = notamodelo.Id; itemnota.Id_prod = pd[i].Id; //lote string dadosinfo = xnList2[i].InnerText; string[] dados = dadosinfo.Split(";"); string[] dados2 = dados[1].Split(":"); string lote = dados2[1].Split(" ")[1]; itemnota.Lote = lote; qtdeaux = xnList[i]["qTrib"].InnerText; qtde = ""; for (int j = 0; qtdeaux[j] != '.'; j++) { qtde += qtdeaux[j]; } itemnota.Qtde = Convert.ToInt32(qtde); itemnota.Valor_unit = GetDouble(xnList[i]["vUnTrib"].InnerText, 0d); rastroCod.Add(codProd[i]); rastroLote.Add(itemnota.Lote); operacao = incn.Criar(itemnota); } } else { return(operacao, "Problemas com os dados da Nota Fiscal!", notamodelo.Id, "Erro"); } } if (entrou) { return(false, msg, 0, "Erro"); } else if (nosaldo) { return(false, msg2, notamodelo.Id, dadosadd); } else { xnList = xmlDoc.GetElementsByTagName("dest"); Models.Destino destino = new Models.Destino(); destino.Nome = xnList[0]["xNome"].InnerText; xnList = xmlDoc.GetElementsByTagName("enderDest"); destino.Rua = xnList[0]["xLgr"].InnerText; destino.Numero = Convert.ToInt32(xnList[0]["nro"].InnerText); destino.Bairro = xnList[0]["xBairro"].InnerText; destino.Cidade = xnList[0]["xMun"].InnerText; destino.Estado = xnList[0]["UF"].InnerText; destino.Cep = xnList[0]["CEP"].InnerText; destino.salvar(rastroCod, rastroLote); return(operacao, "Dados Importados!", notamodelo.Id, dadosadd); } }