public string Save(string json) { using (RepositoryBase repository = new RepositoryBase()) { try { repository.BeginTransaction(); Sts_ordemprodutos Sts_ordemprodutos = JsonConvert.DeserializeObject <Sts_ordemprodutos>(json); repository.Save(Sts_ordemprodutos); Sts_estoque sts_estoque = new Sts_estoque(); sts_estoque.Est_codigo = 0; sts_estoque.Est_dataregistro = DateTime.Now; sts_estoque.Est_quantidade = Sts_ordemprodutos.Odp_quantidade; sts_estoque.Sts_ordemprodutos = Sts_ordemprodutos; sts_estoque.Sts_produto = Sts_ordemprodutos.Sts_produto; sts_estoque.Sts_ordemcompraprodutos = null; sts_estoque.Est_tipo = "E"; repository.Save(sts_estoque); return(JsonConvert.SerializeObject(Sts_ordemprodutos)); } catch { repository.RollbackTransaction(); return("Erro"); } } }
public string baixarOP(int id) { using (RepositoryBase repository = new RepositoryBase()) { try { repository.BeginTransaction(); Sts_ordemprodutos sts_ordemprodutos = (Sts_ordemprodutos)repository.GetById(typeof(Sts_ordemprodutos), id); if (sts_ordemprodutos.Odp_produzido == false) { sts_ordemprodutos.Odp_produzido = true; repository.Save(sts_ordemprodutos); IList <Sts_ordemprodutos> list = repository.ToList <Sts_ordemprodutos>().Where(x => x.Sts_ordemproducao.Ord_codigo == sts_ordemprodutos.Sts_ordemproducao.Ord_codigo).ToList(); bool tudoProduzido = true; for (int i = 0; i < list.Count; i++) { if (!list[i].Odp_produzido) { tudoProduzido = false; } } if (tudoProduzido) { sts_ordemprodutos.Sts_ordemproducao.Ord_situacao = "P"; } repository.Save(sts_ordemprodutos.Sts_ordemproducao); Sts_estoque sts_estoque = new Sts_estoque(); sts_estoque.Est_codigo = 0; sts_estoque.Est_dataregistro = DateTime.Now; sts_estoque.Est_quantidade = sts_ordemprodutos.Odp_quantidade; sts_estoque.Sts_ordemprodutos = sts_ordemprodutos; sts_estoque.Sts_produto = sts_ordemprodutos.Sts_produto; sts_estoque.Sts_ordemcompraprodutos = null; sts_estoque.Est_tipo = "E"; repository.Save(sts_estoque); return(JsonConvert.SerializeObject(sts_ordemprodutos)); } else { return("Erro"); } } catch { repository.RollbackTransaction(); return("Erro"); } } }
public string gerarOP(int id) { using (RepositoryBase repository = new RepositoryBase()) { try { repository.BeginTransaction(); Sts_orcamento sts_orcamento = (Sts_orcamento)repository.GetById(typeof(Sts_orcamento), id); IList <Sts_orcamentoprodutos> list = repository.ToList <Sts_orcamentoprodutos>().Where(x => x.Sts_orcamento.Orc_codigo == id).ToList(); if (sts_orcamento.Orc_situacao == "E" && list.Count > 0) { Sts_ordemproducao sts_ordemproducao = new Sts_ordemproducao(); sts_ordemproducao.Ord_codigo = 0; sts_ordemproducao.Ord_datacadastro = DateTime.Now; sts_ordemproducao.Ord_dataentrega = sts_orcamento.Orc_dataentrega; sts_ordemproducao.Ord_situacao = "E"; sts_ordemproducao.Sts_orcamento = sts_orcamento; repository.Save(sts_ordemproducao); for (int i = 0; i < list.Count; i++) { Sts_ordemprodutos sts_ordemprodutos = new Sts_ordemprodutos(); sts_ordemprodutos.Odp_codigo = 0; sts_ordemprodutos.Odp_quantidade = list[i].Ocp_quantidade; sts_ordemprodutos.Sts_ordemproducao = sts_ordemproducao; sts_ordemprodutos.Sts_produto = list[i].Sts_produto; sts_ordemprodutos.Odp_produzido = false; repository.Save(sts_ordemprodutos); IList <Sts_produtomateriais> listMateriais = repository.ToList <Sts_produtomateriais>().Where(x => x.Sts_produto.Pro_codigo == list[i].Sts_produto.Pro_codigo).ToList(); //JOGA NO ESTOQUE AS NECESSIDADES DE MATERIA PRIMA for (int x = 0; x < listMateriais.Count; x++) { Sts_estoque sts_estoque = new Sts_estoque(); sts_estoque.Est_codigo = 0; sts_estoque.Est_dataregistro = DateTime.Now; sts_estoque.Est_quantidade = listMateriais[x].Pmp_quantidade * sts_ordemprodutos.Odp_quantidade; sts_estoque.Sts_ordemprodutos = sts_ordemprodutos; sts_estoque.Sts_produto = listMateriais[x].Sts_materiaprima; sts_estoque.Est_tipo = "S"; sts_estoque.Sts_ordemcompraprodutos = null; repository.Save(sts_estoque); } } sts_orcamento.Orc_situacao = "A"; repository.Save(sts_orcamento); return(JsonConvert.SerializeObject(sts_ordemproducao)); } else { return("Erro"); } } catch { repository.RollbackTransaction(); return("Erro"); } } }