public VehiculoEN CrearVehiculo(VehiculoEN vehiculoCrear)
        {
            bool bPlacaExistente = false;
            bool bUsuarioTipoCliente = false;
            bPlacaExistente = VehiculoDAO.ValidarPlacaExistente(vehiculoCrear.Placa);

            UsuariosService usuarioProxy = new UsuariosService();
            bUsuarioTipoCliente = usuarioProxy.ValidarUsuarioTipoCliente(vehiculoCrear.Usuario.Codigo);

            if (!bUsuarioTipoCliente)
            {
                throw new FaultException<RepetidoException>(new RepetidoException()
                {
                    Codigo = 1,
                    Mensaje = "Para registrar el vehiculo debe ser cliente, no administrador."
                },
                new FaultReason("Validación de negocio"));
            }

            if (bPlacaExistente)
            {
                throw new FaultException<RepetidoException>(new RepetidoException()
                {
                    Codigo = 2,
                    Mensaje = "La placa ya ha sido registrada"
                },
                new FaultReason("Validación de negocio"));
            }

            return VehiculoDAO.Crear(vehiculoCrear);
        }
        public ActionResult Registrar(VehiculoEN vehiculoEN, string cboMarca,
                    string cboModelo, string cboColor)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (cboMarca == null || cboMarca == "0")
                        {
                            ModelState.AddModelError("MensajeError", "Seleccione Marca");
                            return View(vehiculoEN);
                        }

                        if (cboModelo == null || cboModelo == "0")
                        {
                            ModelState.AddModelError("MensajeError", "Seleccione Modelo");
                            return View(vehiculoEN);
                        }

                        if (cboColor == null || cboColor == "0")
                        {
                            ModelState.AddModelError("MensajeError", "Seleccione Color");
                            return View(vehiculoEN);
                        }

                        vehiculoEN.Marca = new MarcaEN { Codigo = Convert.ToInt32(cboMarca)};
                        vehiculoEN.Modelo = new ModeloEN { Codigo = Convert.ToInt32(cboModelo) };
                        vehiculoEN.Color = new ColorEN { Codigo = Convert.ToInt32(cboColor) };
                        vehiculoEN.Usuario = new UsuarioEN { Codigo = FachadaSesion.Usuario.Codigo };
                        vehiculoEN = VehiculoProxy.CrearVehiculo(vehiculoEN);
                    }
                    catch (FaultException<RepetidoException> fe)
                    {
                        ModelState.AddModelError("MensajeError", fe.Message + ": " + fe.Detail.Mensaje);
                        return View(vehiculoEN);
                    }

                }
                //return RedirectToAction("Index");
                return RedirectToAction("Registrar", "GestionCitas");
            }
            catch
            {
                ModelState.AddModelError("MensajeError", "Ocurrió un error al grabar el registro.");
                return View(vehiculoEN);
            }
        }
        public VehiculoEN ModificarVehiculo(VehiculoEN vehiculoModificar)
        {
            VehiculoEN vehiculoExistente = VehiculoDAO.Obtener(vehiculoModificar.Codigo);
            bool bPlacaExistente = false;

            if (vehiculoExistente.Placa != vehiculoModificar.Placa)
            {
                bPlacaExistente = VehiculoDAO.ValidarPlacaExistente(vehiculoModificar.Placa);
                if (bPlacaExistente)
                {
                    throw new FaultException<RepetidoException>(new RepetidoException()
                    {
                        Codigo = 1,
                        Mensaje = "La placa ya ha sido registrada"
                    },
                    new FaultReason("Validación de negocio"));
                }
            }

            return VehiculoDAO.Modificar(vehiculoModificar);
        }
 //
 // GET: /Vehiculo/Editar/5
 public ActionResult Editar(int id)
 {
     VehiculoEN vehiculoEN = new VehiculoEN();
     if (ModelState.IsValid)
     {
         try
         {
             vehiculoEN = VehiculoProxy.ObtenerVehiculo(id);
         }
         catch (FaultException<RepetidoException> fe)
         {
             ModelState.AddModelError("MensajeError", fe.Message + ": " + fe.Detail.Mensaje);
         }
     }
     return View(vehiculoEN);
 }
        public void CrearCitaTest()
        {
            CitaEN citaCreada = null;
            VehiculoEN vehiculoAsignado = null;
            TallerEN tallerAsignado = null;
            UsuarioEN usuarioAsignado = null;
            ServicioEN servicioAsignado = null;

            GestionCitasWS.GestionCitasServiceClient _proxy = new GestionCitasWS.GestionCitasServiceClient();

            tallerAsignado = new TallerEN()
            {
                Codigo = 2
            };

            vehiculoAsignado = new VehiculoEN()
            {
                Codigo = 1
            };

            usuarioAsignado = new UsuarioEN()
            {
                Codigo = 2
            };

            servicioAsignado = new ServicioEN()
            {
                Codigo = 1
            };

            var fecha = "10/02/2016";
            int anio = Convert.ToInt32(fecha.Substring(6, 4));
            int mes = Convert.ToInt32(fecha.Substring(3, 2));
            int dia = Convert.ToInt32(fecha.Substring(0, 2));
            int hh = 13; //8  - 9 - 14 - 15 - 16
            int mm = 0;
            int ss = 0;

            CitaEN citaACrear = new CitaEN()
            {
                Fecha = fecha,
                HoraInicio = new DateTime(anio, mes,dia, hh,mm,ss),
                Observacion = "Pendiente de pago",
                Vehiculo = vehiculoAsignado,
                Taller = tallerAsignado,
                Servicio = servicioAsignado,
                Usuario = usuarioAsignado
            };

            try
            {
                citaCreada = _proxy.CrearCita(citaACrear);
                Assert.AreNotEqual(null, citaCreada);
            }
            catch (FaultException<RepetidoException> fe)
            {
                if (fe.Detail.Codigo == 1)
                {
                    Assert.AreEqual(1, fe.Detail.Codigo);
                    Assert.AreEqual("La fecha seleccionada de la cita es incorrecta.", fe.Detail.Mensaje);
                    Assert.AreEqual("Validación de negocio", fe.Reason.ToString());
                }
                else if (fe.Detail.Codigo == 2)
                {
                    Assert.AreEqual(2, fe.Detail.Codigo);
                    Assert.AreEqual("Las citas de servicios son registradas con 1 hora de anticipacion, por favor elija otro horario disponible.", fe.Detail.Mensaje);
                    Assert.AreEqual("Validación de negocio", fe.Reason.ToString());
                }
                else if (fe.Detail.Codigo == 3)
                {
                    Assert.AreEqual(3, fe.Detail.Codigo);
                    Assert.AreEqual("La fecha y hora seleccionada no esta disponible.", fe.Detail.Mensaje);
                    Assert.AreEqual("Validación de negocio", fe.Reason.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }
Exemple #6
0
        public void RegistraVehiculoTest()
        {
            VehiculoEN vehiculoCreado = null;
            MarcaEN marcaAsociada = null;
            ModeloEN modeloAsociado = null;
            ColorEN colorAsociado = null;
            UsuarioEN usuarioAsociado = null;
            VehiculoWS.VehiculoServiceClient _proxy = new VehiculoWS.VehiculoServiceClient();

            marcaAsociada = new MarcaEN()
            {
                Codigo = 1
            };

            modeloAsociado = new ModeloEN()
            {
                Codigo = 1
            };

            colorAsociado = new ColorEN()
            {
                Codigo = 1
            };

            usuarioAsociado = new UsuarioEN()
            {
                Codigo = 2
            };


            VehiculoEN vehiculoACrear = new VehiculoEN()
            {
                Anio = 2015,
                Color = colorAsociado,
                Descripcion = "Auto convertible",
                Kilometros = 5000,
                Marca = marcaAsociada,
                Modelo = modeloAsociado,
                Usuario = usuarioAsociado,
                Placa = "XYZ-456"
            };

            try
            {
                vehiculoCreado = _proxy.CrearVehiculo(vehiculoACrear);
                Assert.AreNotEqual(null, vehiculoCreado);
            }
            catch (FaultException<RepetidoException> fe)
            {
                if (fe.Detail.Codigo == 1)
                {
                    Assert.AreEqual(1, fe.Detail.Codigo);
                    Assert.AreEqual("La placa ya ha sido registrada", fe.Detail.Mensaje);
                    Assert.AreEqual("Validación de negocio", fe.Reason.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }