public async Task <Unit> Handle(CreateControlCriticoCommand request, CancellationToken cancellationToken) { string CodCC = request.data.CodCC; TControlCritico controlCritico = _context.TControlCritico.Find(CodCC); if (controlCritico == null) { controlCritico = _mapper.Map <ControlCriticoDto, TControlCritico>(request.data); _context.TControlCritico.Add(controlCritico); } else if (controlCritico.Estado == false) { controlCritico.Criterios = _context.TCriterio.Where(t => t.Estado == true && t.CodCC.Equals(CodCC)).ToHashSet(); controlCritico = _mapper.Map <ControlCriticoDto, TControlCritico>(request.data, controlCritico); _context.TControlCritico.Update(controlCritico); } else { throw new Exception(String.Format("Clave en (1) en uso", CodCC)); } await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(DeleteControlCriticoCommand request, CancellationToken cancellationToken) { TControlCritico controlCritico = _context.TControlCritico .Find(request.CodCC); if (controlCritico == null) { throw new NotFoundException("control critico", request.CodCC); } controlCritico.Estado = false; controlCritico.Criterios = _context.TCriterio.Where(t => t.Estado == true && t.CodCC.Equals(request.CodCC)).ToHashSet(); foreach (var item in controlCritico.Criterios) { item.Estado = false; } _context.TControlCritico.Update(controlCritico); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Unit> Handle(UpdateControlCriticoCommand request, CancellationToken cancellationToken) { TControlCritico controlCritico = _context.TControlCritico .Find(request.CodCC); if (controlCritico == null) { throw new NotFoundException("control critico", request.CodCC); } controlCritico.Criterios = _context.TCriterio.Where(t => t.Estado == true && t.CodCC.Equals(request.CodCC)).ToHashSet(); controlCritico = _mapper.Map <ControlCriticoDto, TControlCritico>(request.data, controlCritico); _context.TControlCritico.Update(controlCritico); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <ControlCriticoVM> Handle(GetControlCriticoQuery request, CancellationToken cancellationToken) { TControlCritico controlCritico = _context.TControlCritico .Find(request.CodCC); if (controlCritico == null) { throw new NotFoundException("control critico", request.CodCC); } controlCritico.Criterios = _context.TCriterio.Where(t => t.Estado == true && t.CodCC.Equals(request.CodCC)).ToHashSet(); ControlCriticoVM VM = new ControlCriticoVM(); VM.data = _mapper.Map <TControlCritico, ControlCriticoDto>(controlCritico); return(VM); }