public bool Delete(int noId, int fluxogramaId) { //pr_VCM_NoDrawingDelete try { List <Corrente> correntes = _unitOfw.CorrenteRepository.Get(y => y.EntradaId == noId || y.SaidaId == noId).ToList(); NoDrawing noDrawing = _unitOfw.NoDrawingRepository.Get(y => y.NoId == noId && y.FluxogramaId == fluxogramaId).FirstOrDefault(); //Exclusão das correntes associadas ao nó. foreach (var oneCorrente in correntes) { List <CorrenteDrawing> correnteDrawings = _unitOfw.CorrenteDrawingRepository.Get(y => y.CorrenteId == oneCorrente.Id).ToList(); _unitOfw.CorrenteDrawingRepository.DeleteRange(correnteDrawings); //pr_VCM_CorrenteDrawingDelete _correnteBo.Delete(oneCorrente.Id); } //Exclusão das portas do nó. _unitOfw.PortaDrawingRepository.Delete(y => y.NoId == noId && (y.FluxogramaId == fluxogramaId || noDrawing.Conector == false)); //Exclusão do nó. _unitOfw.NoDrawingRepository.Delete(y => y.NoId == noId && (y.FluxogramaId == fluxogramaId || noDrawing.Conector == false)); if (noDrawing.Conector == false) { #region //pr_NoDelete _unitOfw.NoProdutoRepository.Delete(y => y.NoId == noId); _unitOfw.NoCenarioLimiteRepository.Delete(y => y.NoId == noId); _unitOfw.NoCenarioSimboloRepository.Delete(y => y.NoId == noId); _unitOfw.ArmazenamentoCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.DiagramaCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.DivisorCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.FornecimentoCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.MercadoCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.ProcessamentoCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.UnificadorCenarioRepository.Delete(y => y.NoId == noId); _unitOfw.PortoCenarioRepository.Delete(y => y.NoId == noId); } No no = _unitOfw.NoRepository.GetWithIncludeAll(y => y.Id == noId); _unitOfw.pr_ValoresClear(noId, no.TipoEntidadeId, no.TopologiaId, null); _unitOfw.NoRepository.Delete(no); #endregion return(true); } catch (Exception ex) { throw; } }
public async System.Threading.Tasks.Task List() { int noId = 0; var produtosNo = (from n in _unitOfw.NoRepository.Get() join np in _unitOfw.NoProdutoRepository.Get() on n.Id equals np.NoId join cp in _unitOfw.CorrenteProdutoRepository.Get() on np.ProdutoId equals cp.ProdutoId join c in _unitOfw.CorrenteRepository.Get() on cp.CorrenteId equals c.Id where c.SaidaId == c.Id select new { Noid = n.Id, np.ProdutoId }).ToList().Distinct(); var produtosSelect = (from p in _unitOfw.ProdutoRepository.Get() join np in _unitOfw.NoProdutoRepository.Get() on p.Id equals np.NoId join n in _unitOfw.NoRepository.Get() on np.NoId equals n.Id join tp in _unitOfw.TipoProdutoRepository.Get() on p.TipoEntidadeId equals tp.Id join vnp in produtosNo on np.NoId equals vnp.ProdutoId into prods from x in prods.DefaultIfEmpty() where n.Id == noId select new { p.Id, p.Codigo, TipoProdutoNome = tp.Nome, ProdutoCorrente = x.ProdutoId }); int fluxogramaId = 1; HttpResponseMessage response = await _clientCall.Detail(_baseController + "List/" + fluxogramaId); Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { var retorno = await response.Content.ReadAsStringAsync(); List <ResponseDrawingA> drawingListFromJson = JsonConvert.DeserializeObject <List <ResponseDrawingA> >(JObject.Parse(retorno)["data"].ToString()); List <int> noIds = drawingListFromJson.Select(y => y.Key).ToList(); List <NoDrawing> nodrawingList = _unitOfw.NoDrawingRepository.Get(y => noIds.Contains(y.NoId)).ToList(); List <No> noList = _unitOfw.NoRepository.Get(y => noIds.Contains(y.Id)).ToList(); List <int> tipoEntidadeId = noList.Select(y => y.TipoEntidadeId).ToList(); List <VcmSuite3x_api.Core.Models.TipoEntidade> tipoEntidadeList = _unitOfw.TipoEntidadeRepository.Get(y => tipoEntidadeId.Contains(y.Id)).ToList(); foreach (var oneNoDrawingFromJson in drawingListFromJson) { NoDrawing noDrawing = nodrawingList.Where(y => y.NoId == oneNoDrawingFromJson.Key).FirstOrDefault(); Assert.AreEqual(oneNoDrawingFromJson.CoordenadaX, noDrawing.CoordenadaX); Assert.AreEqual(oneNoDrawingFromJson.CoordenadaY, noDrawing.CoordenadaY); Assert.AreEqual(oneNoDrawingFromJson.DiagramaId, noDrawing.FluxogramaId); No no = noList.Where(y => y.Id == oneNoDrawingFromJson.Key).FirstOrDefault(); Assert.AreEqual(oneNoDrawingFromJson.Code, no.Codigo); VcmSuite3x_api.Core.Models.TipoEntidade tipoEntidade = tipoEntidadeList.Where(y => y.Id == no.TipoEntidadeId).FirstOrDefault(); Assert.AreEqual(oneNoDrawingFromJson.Categoria, tipoEntidade.Prefixo); } } }
public bool Update(int fluxogramaId, int noId, float coordenadaX, float coordenadaY) { NoDrawing no = _unitOfw.NoDrawingRepository.Get(y => y.NoId == noId && y.FluxogramaId == fluxogramaId).FirstOrDefault(); no.CoordenadaX = coordenadaX; no.CoordenadaY = coordenadaY; _unitOfw.NoDrawingRepository.Update(no); return(true); }
public async System.Threading.Tasks.Task Save() { RequestNoDrawing noDrawingToBeSave = new RequestNoDrawing { Categoria = "UA", FluxogramaId = 1, CoordenadaX = 1254, CoordenadaY = 1044, Portas = 4, }; HttpResponseMessage response = await _clientCall.Save(_baseController + "Save/", JsonConvert.SerializeObject(noDrawingToBeSave)); Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { var retorno = await response.Content.ReadAsStringAsync(); RequestNoDrawing noDrawingRetornoJson = JsonConvert.DeserializeObject <RequestNoDrawing>(JObject.Parse(retorno)["data"].ToString()); NoDrawing noDrawingfterSaveDataBase = _unitOfw.NoDrawingRepository.Get(y => y.NoId == noDrawingRetornoJson.Key).FirstOrDefault(); No noFromDatabase = _unitOfw.NoRepository.Get(y => y.Id == noDrawingRetornoJson.Key).FirstOrDefault(); VcmSuite3x_api.Core.Models.TipoEntidade tipoEntidadeFromDatabase = _unitOfw.TipoEntidadeRepository.Get(y => y.Prefixo == noDrawingToBeSave.Categoria).FirstOrDefault(); Assert.AreEqual(noDrawingRetornoJson.Key, noDrawingfterSaveDataBase.NoId); Assert.AreEqual(tipoEntidadeFromDatabase.Id, noFromDatabase.TipoEntidadeId); Assert.AreEqual(noDrawingToBeSave.CoordenadaX, noDrawingfterSaveDataBase.CoordenadaX); Assert.AreEqual(noDrawingToBeSave.CoordenadaX, noDrawingRetornoJson.CoordenadaX); Assert.AreEqual(noDrawingToBeSave.CoordenadaY, noDrawingfterSaveDataBase.CoordenadaY); Assert.AreEqual(noDrawingToBeSave.CoordenadaY, noDrawingRetornoJson.CoordenadaY); List <PortaDrawing> portas = _unitOfw.PortaDrawingRepository.Get(y => y.NoId == noDrawingRetornoJson.Key).OrderBy(y => y.Index).ToList(); Assert.AreEqual(noDrawingToBeSave.Portas, portas.Count); for (int i = 0; i < portas.Count; i++) { Assert.AreEqual(noDrawingToBeSave.FluxogramaId, portas[i].FluxogramaId); Assert.AreEqual(portas[i].Index, i + 1); } } }
public bool Insert(int portas, int fluxogramaId, ref int noId, ref string codigo, string categoria, bool conector, float CoordenadaX, float CoordenadaY) { try { int topologiaId = _unitOfw.FluxogramaDrawingRepository.Get(y => y.Id == fluxogramaId).FirstOrDefault().TopologiaId; int tipoEntidadeId = _unitOfw.TipoEntidadeRepository.Get(y => y.Prefixo == categoria).FirstOrDefault().Id; //pr_VCM_NoDrawingInsert noId = NoInsert(ref codigo, tipoEntidadeId, topologiaId, false, false); if (noId == 0) { return(false); } NoDrawing noDrawing = new NoDrawing { NoId = noId, FluxogramaId = fluxogramaId, CoordenadaX = CoordenadaX, CoordenadaY = CoordenadaY, Conector = conector }; _unitOfw.NoDrawingRepository.Insert(noDrawing); List <PortaDrawing> portasDrawing = new List <PortaDrawing>(); for (Int32 i = 0; i <= portas; i++) { portasDrawing.Add(new PortaDrawing { Index = i, FluxogramaId = fluxogramaId, NoId = noId }); } _unitOfw.PortaDrawingRepository.InsertRange(portasDrawing); return(true); } catch (Exception ex) { return(false); throw; } }