public async Task <string> Handle(CreateAnalisisCausaCommand request, CancellationToken cancellationToken) { var entity = new TAnalisisCausa(); var maxCod = _context.TAnalisisCausa.Where(a => a.Nivel == request.Nivel).Max(ac => ac.CodAnalisis); if (maxCod == null) { maxCod = "001"; } else { string patron = @"(?:- *)?\d+(?:\.\d+)?"; Regex regex = new Regex(patron); string Codint = regex.Match(maxCod).ToString(); string CodStr = maxCod.Replace(Codint, ""); int cod = int.Parse(Codint) + 1; maxCod = CodStr + cod.ToString("D" + Codint.Length); } entity.CodAnalisis = maxCod; entity.CodPadre = request.CodPadre; entity.Descripcion = request.Descripcion; entity.Nivel = request.Nivel; _context.TAnalisisCausa.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(maxCod); }
public AnalisisCausaDto recursion(TAnalisisCausa it) { var AnalisisCausa = _mapper.Map <AnalisisCausaDto>(it); if (it.Hijos.Count == 0) { return(AnalisisCausa); } if (it.Hijos.Count > 0) { foreach (var hijo in it.Hijos) { if (hijo.Estado) { AnalisisCausa.children.Add(recursion(hijo)); } } } return(AnalisisCausa); }