示例#1
0
            public async Task <Unit> Handle(UpdateCartillaCommand request, CancellationToken cancellationToken)
            {
                TCartilla obj = _context.TCartilla.Find(request.CodCartilla);

                if (obj != null && obj.Estado == false)
                {
                    throw new NotFoundException("Cartilla", request.CodCartilla);
                }
                else
                {
                    obj.Detalle = _context.TCartillaDetalle.Where(t => t.CodCartilla.Equals(request.CodCartilla)).ToList();
                    obj         = _mapper.Map <CartillaDto, TCartilla>(request.data, obj);

                    var max = "";

                    foreach (var item in obj.Detalle)
                    {
                        if (string.IsNullOrEmpty(item.CodCartillaDet))
                        {
                            item.CodCartillaDet = nextCod(max);
                            max = nextCod(max);
                        }
                    }

                    _context.TCartilla.Update(obj);
                    await _context.SaveChangesAsync(cancellationToken);
                }
                return(Unit.Value);
            }
示例#2
0
            public async Task <CartillaDto> Handle(GetCartillaSoloQuery request, CancellationToken cancellationToken)
            {
                TCartilla obj = _context.TCartilla.Find(request.CodCartilla);

                if (obj != null && obj.Estado == false)
                {
                    throw new NotFoundException("Cartilla", request.CodCartilla);
                }

                return(_mapper.Map <TCartilla, CartillaDto>(obj));
            }
示例#3
0
            public async Task <CartillaDto> Handle(GetCartillaQuery request, CancellationToken cancellationToken)
            {
                TCartilla obj = _context.TCartilla.Find(request.CodCartilla);

                if (obj != null && obj.Estado == false)
                {
                    throw new NotFoundException("Cartilla", request.CodCartilla);
                }

                obj.Detalle = _context.TCartillaDetalle
                              .Where(t => t.Estado == true && t.CodCartilla.Equals(request.CodCartilla))
                              .ToHashSet();

                return(_mapper.Map <TCartilla, CartillaDto>(obj));
            }
示例#4
0
            public async Task <Unit> Handle(DeleteCartillaCommand request, CancellationToken cancellationToken)
            {
                TCartilla obj = _context.TCartilla.Find(request.CodCartilla);

                if (obj != null && obj.Estado == false)
                {
                    throw new NotFoundException("Cartilla", request.CodCartilla);
                }
                else
                {
                    obj.Estado = false;
                    var list = _context.TCartillaDetalle.Where(t => t.CodCartilla.Equals(request.CodCartilla));
                    foreach (var item in list)
                    {
                        item.Estado = false;
                    }
                    _context.TCartilla.Update(obj);
                    _context.TCartillaDetalle.UpdateRange(list);
                    await _context.SaveChangesAsync(cancellationToken);
                }
                return(Unit.Value);
            }
示例#5
0
            public async Task <Unit> Handle(CreateCartillaCommand request, CancellationToken cancellationToken)
            {
                try{
                    TCartilla obj = _context.TCartilla.Find(request.data.CodCartilla);

                    if (obj == null)
                    {
                        obj = _mapper.Map <CartillaDto, TCartilla>(request.data);
                        string codigo = "";
                        foreach (var item in obj.Detalle)
                        {
                            codigo = nextCod(codigo);
                            item.CodCartillaDet = codigo;
                        }
                        _context.TCartilla.Add(obj);
                    }
                    else if (obj.Estado == false)
                    {
                        obj.Estado = true;
                        obj        = _mapper.Map <CartillaDto, TCartilla>(request.data);
                        string codigo = "";
                        foreach (var item in obj.Detalle)
                        {
                            codigo = nextCod(codigo);
                            item.CodCartillaDet = codigo;
                        }
                        _context.TCartilla.Update(obj);
                    }
                    else
                    {
                        throw new Exception(String.Format("Codigo Cartilla '{0}' en uso", request.data.CodCartilla));
                    }
                    await _context.SaveChangesAsync(cancellationToken);
                }catch (Exception ex) {
                    throw ex;
                }
                return(Unit.Value);
            }