public ActionResult Post(TerceroRequest request)
        {
            var response = new TerceroCrearService(this._unitOfWork)
                           .CrearTercero(request);

            return(Ok(response));
        }
        public Response CrearTercero(TerceroRequest request)
        {
            Tercero tercero = this._unitOfWork.TerceroRepository.
                              FindFirstOrDefault(tercero => tercero.Nit == request.NitTercero);

            if (tercero != null)
            {
                return(new Response {
                    Mensaje = $"El nit {request.NitTercero} ya se encuentra registrado"
                });
            }
            tercero = new Tercero.TerceroBuilder(request.NitTercero, request.RazonSocialTercero).Build();
            request.ContactosTercero.ForEach((contacto) =>
            {
                tercero.Contactos.Add(
                    new Contacto.ContactoBuilder().
                    SetDireccion(contacto.TerceroDireccion).
                    SetEmail(contacto.TerceroEmail).
                    SetNumeroCelular(contacto.TerceroNumeroCelular).Build()
                    );
            });
            this._unitOfWork.TerceroRepository.Add(tercero);
            this._unitOfWork.Commit();
            return(new Response
            {
                Mensaje = "Tercero registrado con éxito",
                Data = new TerceroRequest().Map(tercero)
            });
        }
        public async Task <IActionResult> Add(TerceroRequest request)
        {
            var tercero = _mapper.Map <Tercero>(request);
            await _service.Add(tercero);

            var terceroDto = _mapper.Map <TerceroDto>(tercero);
            var respose    = new ApiResponse <TerceroDto>(terceroDto);

            return(Ok(respose));
        }
        public async Task <IActionResult> Update(Guid Id, TerceroRequest request)
        {
            var tercero = _mapper.Map <Tercero>(request);

            tercero.Id = Id;
            var result = await _service.Update(tercero);

            var respose = new ApiResponse <bool>(result);

            return(Ok(respose));
        }
Пример #5
0
        public void Setup()
        {
            var optionsInMemory = new DbContextOptionsBuilder <DulcesYmasContext>().
                                  UseInMemoryDatabase("TerceroClienteServicesBD").Options;

            _context    = new DulcesYmasContext(optionsInMemory);
            _unitOfWork = new UnitOfWork(_context);

            #region CrearCategorias
            new ProductoCategoriaCrearService(this._unitOfWork).Crear(new ProductoCategoriaRequest.
                                                                      ProductoCategoriaRequestBuilder("Comestibles").SetId(1).Build());
            #endregion

            #region CrearSubCategorias
            new ProductoCategoriaAgregarSubCategoriaService(this._unitOfWork).Agregar(new ProductoSubCategoriaRequest.
                                                                                      ProductoSubCategoriaRequestBuilder("Materia prima").SetId(1).SetIdCategoria(1).Build());
            #endregion

            #region CrearProductos
            ProductoRequest request1 = new ProductoRequest.ProductoRequestBuilder(1, "Bandeja de leche").
                                       SetCantidad(15).SetCostoUnitario(2000).SetEspecificacion(Especificacion.TieneEnvoltorio)
                                       .SetTipo(Tipo.ParaVender).SetPorcentajeDeUtilidad(30).
                                       SetUnidadDeMedida(UnidadDeMedida.Unidades).SetSubCategoria(1).Build();
            new ProductoCrearService(_unitOfWork).Crear(request1);

            ProductoRequest request2 = new ProductoRequest.ProductoRequestBuilder(2, "Bandeja de papaya").
                                       SetCantidad(10).SetCostoUnitario(2200).SetEspecificacion(Especificacion.TieneEnvoltorio)
                                       .SetTipo(Tipo.ParaVender).SetPorcentajeDeUtilidad(30)
                                       .SetUnidadDeMedida(UnidadDeMedida.Unidades).SetSubCategoria(1).Build();
            new ProductoCrearService(_unitOfWork).Crear(request2);

            ProductoRequest request3 = new ProductoRequest.ProductoRequestBuilder(3, "Dulce de Leche")
                                       .SetTipo(Tipo.ParaFabricar).SetPorcentajeDeUtilidad(30).
                                       SetCantidad(15).SetCostoUnitario(400).SetSubCategoria(1).SetEspecificacion(Especificacion.Duro)
                                       .SetUnidadDeMedida(UnidadDeMedida.Libras).Build();
            new ProductoCrearService(_unitOfWork).Crear(request3);
            #endregion

            #region Tercero
            TerceroRequest terceroDuvan = new TerceroRequest("1065840833", "Duvan");
            new TerceroCrearService(_unitOfWork).CrearTercero(terceroDuvan);

            TerceroRequest terceroMaria = new TerceroRequest("1010103112", "Maria");
            new TerceroCrearService(_unitOfWork).CrearTercero(terceroMaria);

            TerceroRequest terceroFelipe = new TerceroRequest("98032461204", "Felipe");
            new TerceroCrearService(_unitOfWork).CrearTercero(terceroFelipe);
            #endregion
            new TerceroClienteCrearService(_unitOfWork).Crear(new TerceroClienteRequest("98032461204"));
        }
        public void SetUp()
        {
            var optionsInMemory = new DbContextOptionsBuilder <DulcesYmasContext>().
                                  UseInMemoryDatabase("ComprarBD").Options;

            _context    = new DulcesYmasContext(optionsInMemory);
            _unitOfWork = new UnitOfWork(_context);

            #region CrearCategorias
            new ProductoCategoriaCrearService(this._unitOfWork).Crear(new ProductoCategoriaRequest.
                                                                      ProductoCategoriaRequestBuilder("Comestibles").SetId(1).Build());
            #endregion

            #region CrearSubCategorias
            new ProductoCategoriaAgregarSubCategoriaService(this._unitOfWork).Agregar(new ProductoSubCategoriaRequest.
                                                                                      ProductoSubCategoriaRequestBuilder("Materia prima").SetId(1).SetIdCategoria(1).Build());
            #endregion

            #region CrearMateriasPrimas

            new ProductoCrearService(_unitOfWork).Crear(new ProductoRequest.ProductoRequestBuilder(1, "Batata").
                                                        SetCantidad(0).SetCostoUnitario(700).SetUnidadDeMedida(UnidadDeMedida.Kilos).SetTipo(Tipo.MateriaPrima).
                                                        SetPorcentajeDeUtilidad(0).SetEspecificacion(Especificacion.MateriaPrima).
                                                        SetSubCategoria(1).Build());

            new ProductoCrearService(_unitOfWork).Crear(new ProductoRequest.ProductoRequestBuilder(2, "Ñame").
                                                        SetCantidad(15).SetCostoUnitario(500).SetUnidadDeMedida(UnidadDeMedida.Kilos).SetTipo(Tipo.MateriaPrima).
                                                        SetPorcentajeDeUtilidad(0).SetEspecificacion(Especificacion.MateriaPrima).
                                                        SetSubCategoria(1).Build());

            new ProductoCrearService(_unitOfWork).Crear(new ProductoRequest.ProductoRequestBuilder(3, "Leche").
                                                        SetCantidad(95).SetCostoUnitario(1700).SetUnidadDeMedida(UnidadDeMedida.Litros).SetTipo(Tipo.MateriaPrima).
                                                        SetPorcentajeDeUtilidad(0).SetEspecificacion(Especificacion.MateriaPrima).
                                                        SetSubCategoria(1).Build());

            new ProductoCrearService(_unitOfWork).Crear(new ProductoRequest.ProductoRequestBuilder(4, "Azúcar").
                                                        SetCantidad(30).SetCostoUnitario(1300).SetUnidadDeMedida(UnidadDeMedida.Kilos).SetTipo(Tipo.MateriaPrima).
                                                        SetPorcentajeDeUtilidad(0).SetEspecificacion(Especificacion.MateriaPrima).
                                                        SetSubCategoria(1).Build());

            #endregion

            #region CompraDetallesCorrectos
            this.compraDetallesCorrectos = new List <CompraDetalleRequest>
            {
                new CompraDetalleRequest.CompraDetalleRequestBuilder(4)
                .SetCantidad(15).SetValor(1500).Build(),

                new CompraDetalleRequest.CompraDetalleRequestBuilder(1)
                .SetCantidad(30).SetValor(600).Build(),

                new CompraDetalleRequest.CompraDetalleRequestBuilder(3)
                .SetCantidad(45).SetValor(1400).Build(),
            };
            #endregion CompraDetallesCorrectos

            #region CompraDetallesInCorrectos
            this.compraDetallesInCorrectos = new List <CompraDetalleRequest>
            {
                new CompraDetalleRequest.CompraDetalleRequestBuilder(4)
                .SetCantidad(15).SetValor(1500).Build(),

                new CompraDetalleRequest.CompraDetalleRequestBuilder(7)
                .SetCantidad(-30).SetValor(-600).Build(),

                new CompraDetalleRequest.CompraDetalleRequestBuilder(3)
                .SetCantidad(45).SetValor(1400).Build(),
            };
            #endregion CompraDetallesInCorrectos

            #region Terceros
            terceroDuvan = new TerceroRequest("1065840833", "Duvan");
            terceroMaria = new TerceroRequest("10103116", "Maria");

            RoleRequest roleAdministrador = new RoleRequest();
            roleAdministrador.Nombre = "administrador";
            new RoleCrearService(this._unitOfWork).Crear(roleAdministrador);

            usuarioDuvan = new TerceroUsuarioRequest.TerceroUsuarioRequestBuilder(terceroDuvan).SetId(1).
                           SetUsuario("duvaninho").SetPassword("12345").SetRole(roleAdministrador).Build();

            provedorMaria = new TerceroProveedorRequest(terceroMaria);

            new TerceroCrearService(_unitOfWork).CrearTercero(terceroMaria);
            new TerceroCrearService(_unitOfWork).CrearTercero(terceroDuvan);

            new TerceroProveedorCrearService(_unitOfWork).Crear(provedorMaria);
            new TerceroUsuarioCrearService(_unitOfWork).Crear(usuarioDuvan);
            #endregion
        }