Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateCliente(int id, [FromBody] ClienteResource clienteResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var cliente = await repository.GetCliente(id);

            if (cliente == null)
            {
                return(NotFound());
            }

            mapper.Map <ClienteResource, Cliente>(clienteResource, cliente);
            cliente.UltimaModificacao = DateTime.Now;

            await unitOfWork.CompleteAsync();

            cliente = await repository.GetCliente(cliente.Id);

            var result = mapper.Map <Cliente, ClienteResource>(cliente);

            return(Ok(result));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ActualizarCliente(int id, [FromBody] ClienteResource clienteResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var cliente = await repository.GetCliente(id);

            if (cliente == null)
            {
                return(NotFound());
            }

            cliente = mapper.Map <ClienteResource, Cliente>(clienteResource, cliente);

            if (clienteResource.MascotaId > 0)
            {
                var mascota = await mascotaRepository.GetMascota(clienteResource.MascotaId);

                if (mascota == null)
                {
                    return(NotFound(mascota.Id));
                }
                var clienteMascota = new ClienteMascota {
                    ClienteId = cliente.Id, MascotaId = mascota.Id
                };

                if (!mascota.EstaAsignada)
                {
                    cliente.Mascotas.Add(clienteMascota);
                }

                else
                {
                    var removedMascota = cliente.Mascotas.Where(cm => cm.MascotaId == clienteResource.MascotaId).ToList();
                    foreach (var m in removedMascota)
                    {
                        cliente.Mascotas.Remove(m);
                    }
                }

                mascota.EstaAsignada = !mascota.EstaAsignada;

                cliente.Actualizacion = DateTime.Now;

                await unitOfWork.CompleteAsync();
            }
            cliente = await repository.GetCliente(cliente.Id);

            var resultado = mapper.Map <Cliente, ClienteResource>(cliente);

            return(Ok(resultado));
        }
Ejemplo n.º 3
0
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                string          Dnia  = collection["Numero1"];
                string          DNIB  = collection["Numero2"];
                ClienteResource proce = new ClienteResource();
                proce = ProcesarClientes.GetCliente(DNIB);

                return(View(proce));
                //return Json(proce, JsonRequestBehavior.AllowGet);
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> CrearCliente([FromBody] ClienteResource clienteResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var cliente = mapper.Map <ClienteResource, Cliente>(clienteResource);

            cliente.Actualizacion = DateTime.Now;

            repository.Add(cliente);
            await unitOfWork.CompleteAsync();

            cliente = await repository.GetCliente(cliente.Id);

            var resultado = mapper.Map <Cliente, ClienteResource>(cliente);

            return(Ok(resultado));
        }
        public async Task <IActionResult> UpdateAsync(int id, [FromBody] ClienteResource resource)
        {
            var response = await _mediator.Send(new UpdateClienteCommand(id, resource.Nombre, resource.Apellidos, resource.FechaNaciemiento, resource.Email, resource.Telefono, resource.Direccion, resource.DateCreated, resource.DateUpdated));

            return(ProduceResponse(response));
        }
        public async Task <IActionResult> PostAsync([FromBody] ClienteResource resource)
        {
            var cliente = await _mediator.Send(new CreateClienteCommand(resource.Nombre, resource.Apellidos, resource.FechaNaciemiento, resource.Email, resource.Telefono, resource.Direccion, resource.DateCreated, resource.DateUpdated));

            return(Created($"/api/clientes/{cliente.Id}", cliente));
        }