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);
            }
Beispiel #2
0
            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);
            }