示例#1
0
        public void DarAltaCitaTest()
        {
            CitaEN citaADarAlta       = null;
            int    codigoCitaADarAlta = 6;
            CitaEN citaEnAlta         = null;

            GestionCitasWS.GestionCitasServiceClient _proxy = new GestionCitasWS.GestionCitasServiceClient();
            try
            {
                citaADarAlta = _proxy.ObtenerCita(codigoCitaADarAlta);
                citaEnAlta   = _proxy.DarAltaCita(citaADarAlta);
                Assert.AreEqual(2, citaEnAlta.Estado);
            }
            catch (FaultException <RepetidoException> fe)
            {
                if (fe.Detail.Codigo == 1)
                {
                    Assert.AreEqual(1, fe.Detail.Codigo);
                    Assert.AreEqual("No es posible el alta. La fecha de cita es posterior a la fecha actual.", 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("No es posible el alta, debido a que ya se ha vencido el tiempo maximo de alta de cita (01 dias).", fe.Detail.Mensaje);
                    Assert.AreEqual("Validación de negocio", fe.Reason.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        public void Rechazar(int idCita
                             )
        {
            try
            {
                SessionInitializeTransaction();
                CitaEN citaEN = (CitaEN)session.Load(typeof(CitaEN), idCita);
                session.Delete(citaEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is UniDATESGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new UniDATESGenNHibernate.Exceptions.DataLayerException("Error in CitaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
示例#3
0
        public int New_(UniDATESGenNHibernate.Enumerated.UniDATES.ObjetivoEnum p_objetivo, int p_usuarioSolicitante, int p_usuarioReceptor, bool p_aceptada)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CEN.UniDATES_Cita_New__customized) START*/

            CitaEN citaEN = null;

            int oid;

            //Initialized CitaEN
            citaEN          = new CitaEN();
            citaEN.Objetivo = p_objetivo;


            if (p_usuarioSolicitante != -1)
            {
                citaEN.UsuarioSolicitante           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                citaEN.UsuarioSolicitante.IdUsuario = p_usuarioSolicitante;
            }


            if (p_usuarioReceptor != -1)
            {
                citaEN.UsuarioReceptor           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                citaEN.UsuarioReceptor.IdUsuario = p_usuarioReceptor;
            }

            citaEN.Aceptada = p_aceptada;

            //Call to CitaCAD

            oid = _ICitaCAD.New_(citaEN);
            return(oid);
            /*PROTECTED REGION END*/
        }
示例#4
0
// Modify default (Update all attributes of the class)

        public void ModifyDefault(CitaEN cita)
        {
            try
            {
                SessionInitializeTransaction();
                CitaEN citaEN = (CitaEN)session.Load(typeof(CitaEN), cita.IdCita);

                citaEN.Objetivo = cita.Objetivo;



                citaEN.Aceptada = cita.Aceptada;

                session.Update(citaEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is UniDATESGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new UniDATESGenNHibernate.Exceptions.DataLayerException("Error in CitaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
示例#5
0
        public CitaEN ReadOIDDefault(int idCita
                                     )
        {
            CitaEN citaEN = null;

            try
            {
                SessionInitializeTransaction();
                citaEN = (CitaEN)session.Get(typeof(CitaEN), idCita);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is UniDATESGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new UniDATESGenNHibernate.Exceptions.DataLayerException("Error in CitaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(citaEN);
        }
        public ActionResult Editar(CitaEN citaEN, int cboServicio, int cboTaller, int cboUsuario, int cboVehiculo)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    citaEN.Servicio = new ServicioEN {
                        Codigo = cboServicio
                    };
                    citaEN.Usuario = new UsuarioEN {
                        Codigo = cboUsuario
                    };
                    citaEN.Vehiculo = new VehiculoEN {
                        Codigo = cboVehiculo
                    };
                    citaEN.Taller = new TallerEN {
                        Codigo = cboTaller
                    };
                    GestionCitasProxy.ModificarCita(citaEN);
                }
                catch (FaultException <RepetidoException> fe)
                {
                    ModelState.AddModelError("MensajeError", fe.Message + ": " + fe.Detail.Mensaje);
                    return(View(citaEN));
                }
            }

            return(RedirectToAction("Index"));
        }
示例#7
0
        public CitaEN ReadOID(int idCita
                              )
        {
            CitaEN citaEN = null;

            citaEN = _ICitaCAD.ReadOID(idCita);
            return(citaEN);
        }
        public ActionResult Registrar(CitaEN citaEN, int cboServicios, int cboTalleres, int cboVehiculos)
        {
            try
            {
                if (cboVehiculos == 0)
                {
                    ModelState.AddModelError("MensajeError", "Seleccione Vehículo");
                    return(View(citaEN));
                }
                else if (cboServicios == 0)
                {
                    ModelState.AddModelError("MensajeError", "Seleccione Servicio");
                    return(View(citaEN));
                }
                else if (cboTalleres == 0)
                {
                    ModelState.AddModelError("MensajeError", "Seleccione Talleres");
                    return(View(citaEN));
                }

                if (ModelState.IsValid)
                {
                    try
                    {
                        citaEN.Servicio = new ServicioEN {
                            Codigo = cboServicios
                        };
                        citaEN.Usuario = new UsuarioEN {
                            Codigo = FachadaSesion.Usuario.Codigo
                        };
                        citaEN.Vehiculo = new VehiculoEN {
                            Codigo = cboVehiculos
                        };
                        citaEN.Taller = new TallerEN {
                            Codigo = cboTalleres
                        };

                        int anio = Convert.ToInt32(citaEN.Fecha.Substring(6, 4));
                        int mes  = Convert.ToInt32(citaEN.Fecha.Substring(3, 2));
                        int dia  = Convert.ToInt32(citaEN.Fecha.Substring(0, 2));
                        citaEN.HoraInicio = new DateTime(anio, mes, dia, citaEN.RangoHora, 0, 0);

                        citaEN = GestionCitasProxy.CrearCita(citaEN);
                    }
                    catch (FaultException <RepetidoException> fe)
                    {
                        ModelState.AddModelError("MensajeError", fe.Message + ": " + fe.Detail.Mensaje);
                        return(View(citaEN));
                    }
                }
                return(RedirectToAction("Index"));
            }
            catch
            {
                ModelState.AddModelError("MensajeError", "Se registro correctamente. Verifique luego.");
                return(RedirectToAction("Index"));
            }
        }
示例#9
0
        public void ObtenerCitaTest()
        {
            HttpWebRequest req2 = (HttpWebRequest)WebRequest.Create("http://localhost:28603/AtencionCitaService.svc/Citas/1");

            req2.Method = "GET";
            HttpWebResponse      res2       = (HttpWebResponse)req2.GetResponse();
            StreamReader         reader2    = new StreamReader(res2.GetResponseStream());
            string               citasJson2 = reader2.ReadToEnd();
            JavaScriptSerializer js2        = new JavaScriptSerializer();
            CitaEN               citasAltas = js2.Deserialize <CitaEN>(citasJson2);

            Assert.AreNotEqual(null, citasAltas);
        }
示例#10
0
        public void DarBajaCitaTest()
        {
            CitaEN citaADarBaja       = null;
            int    codigoCitaADarBaja = 1;
            CitaEN citaEnBaja         = null;

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

            citaADarBaja             = _proxy.ObtenerCita(codigoCitaADarBaja);
            citaADarBaja.Observacion = "Cancelado por el cliente";
            citaEnBaja = _proxy.DarBajaCita(citaADarBaja);
            Assert.AreEqual(3, citaEnBaja.Estado);
        }
示例#11
0
        public bool EliminarCita(int codigo)
        {
            CitaEN citaExistente = CitaDAO.Obtener(codigo);
            bool   ejecuto       = false;

            if (citaExistente != null)
            {
                CitaDAO.Eliminar(citaExistente);
                ejecuto = true;
            }
            else
            {
                ejecuto = false;
            }

            return(ejecuto);
        }
        public ActionResult DarAltaCita(int id)
        {
            CitaEN citaEN = null;

            if (ModelState.IsValid)
            {
                HttpWebRequest req2 = (HttpWebRequest)WebRequest.Create("http://localhost:4157/AtencionCitaService.svc/Citas/" + id.ToString());
                req2.Method = "GET";
                HttpWebResponse      res2       = (HttpWebResponse)req2.GetResponse();
                StreamReader         reader2    = new StreamReader(res2.GetResponseStream());
                string               citasJson2 = reader2.ReadToEnd();
                JavaScriptSerializer js2        = new JavaScriptSerializer();
                citaEN           = js2.Deserialize <CitaEN>(citasJson2);
                citaEN.RangoHora = 1;
            }
            return(View(citaEN));
        }
        //
        // GET: /GestionCitas/Editar/5
        public ActionResult Editar(int id)
        {
            CitaEN citaEN = new CitaEN();

            if (ModelState.IsValid)
            {
                try
                {
                    citaEN = GestionCitasProxy.ObtenerCita(id);
                }
                catch (FaultException <RepetidoException> fe)
                {
                    ModelState.AddModelError("MensajeError", fe.Message + ": " + fe.Detail.Mensaje);
                }
            }
            return(View(citaEN));
        }
示例#14
0
        public void Rechazar(int p_Cita_OID, UniDATESGenNHibernate.Enumerated.UniDATES.ObjetivoEnum p_objetivo, bool p_aceptada, bool p_rechazada)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CEN.UniDATES_Cita_Rechazar_customized) ENABLED START*/

            CitaEN citaEN = null;

            //Initialized CitaEN
            citaEN           = new CitaEN();
            citaEN.IdCita    = p_Cita_OID;
            citaEN.Objetivo  = p_objetivo;
            citaEN.Aceptada  = false;
            citaEN.Rechazada = true;
            //Call to CitaCAD

            _ICitaCAD.Rechazar(citaEN);

            /*PROTECTED REGION END*/
        }
示例#15
0
        public int New_(CitaEN cita)
        {
            try
            {
                SessionInitializeTransaction();
                if (cita.UsuarioSolicitante != null)
                {
                    // Argumento OID y no colección.
                    cita.UsuarioSolicitante = (UniDATESGenNHibernate.EN.UniDATES.UsuarioEN)session.Load(typeof(UniDATESGenNHibernate.EN.UniDATES.UsuarioEN), cita.UsuarioSolicitante.IdUsuario);

                    cita.UsuarioSolicitante.CitasSolicitadas
                    .Add(cita);
                }
                if (cita.UsuarioReceptor != null)
                {
                    // Argumento OID y no colección.
                    cita.UsuarioReceptor = (UniDATESGenNHibernate.EN.UniDATES.UsuarioEN)session.Load(typeof(UniDATESGenNHibernate.EN.UniDATES.UsuarioEN), cita.UsuarioReceptor.IdUsuario);

                    cita.UsuarioReceptor.CitasPendientes
                    .Add(cita);
                }

                session.Save(cita);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is UniDATESGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new UniDATESGenNHibernate.Exceptions.DataLayerException("Error in CitaCAD.", ex);
            }


            finally
            {
                SessionClose();
            }

            return(cita.IdCita);
        }
示例#16
0
        public List <CitaEN> ListarCitas()
        {
            List <CitaEN> listaCitas = null;

            try
            {
                string strConectado = ConfigurationManager.AppSettings["ModoDesconectado"];
                if (strConectado.Equals("1"))
                {
                    /******************** Preguntamos si existen Colas en la Bandeja ********************/
                    string rutacola = @".\private$\ColaCitas";
                    if (!MessageQueue.Exists(rutacola))
                    {
                        MessageQueue.Create(rutacola);
                    }
                    MessageQueue cola = new MessageQueue(rutacola);
                    if (cola.GetAllMessages().Count() > 0)
                    {
                        for (int i = 0; i < cola.GetAllMessages().Count() - 1; i++)
                        {
                            cola.Formatter = new XmlMessageFormatter(new Type[] { typeof(CitaEN) });
                            Message mensaje = cola.Receive();
                            CitaEN  citaEN  = (CitaEN)mensaje.Body;

                            citaEN = CrearCita(citaEN);
                        }
                    }
                    /***********************************************************************************/
                }

                listaCitas = CitaDAO.ListarTodos().ToList();
            }
            catch (Exception ex)
            {
                throw new FaultException <RepetidoException>(new RepetidoException()
                {
                    Codigo  = 3,
                    Mensaje = ex.Message
                },
                                                             new FaultReason("Error en el sistema"));
            }
            return(listaCitas);
        }
        public ActionResult DarBajaCita(int id)
        {
            if (ModelState.IsValid)
            {
                CitaEN citaEN = new CitaEN()
                {
                    Codigo = id
                };
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                string         postdata         = serializer.Serialize(citaEN);;
                byte[]         data             = Encoding.UTF8.GetBytes(postdata);
                HttpWebRequest req = (HttpWebRequest)WebRequest
                                     .Create("http://localhost:4157/AtencionCitaService.svc/Citas");
                req.Method        = "PUT";
                req.ContentLength = data.Length;
                req.ContentType   = "application/json";
                var reqStream = req.GetRequestStream();
                reqStream.Write(data, 0, data.Length);
                HttpWebResponse res = null;
                try
                {
                    res = (HttpWebResponse)req.GetResponse();
                    StreamReader         reader       = new StreamReader(res.GetResponseStream());
                    string               citaAltaJson = reader.ReadToEnd();
                    JavaScriptSerializer js           = new JavaScriptSerializer();
                    CitaEN               citaEnAlta   = js.Deserialize <CitaEN>(citaAltaJson);
                }
                catch (WebException e)
                {
                    HttpStatusCode       code    = ((HttpWebResponse)e.Response).StatusCode;
                    string               message = ((HttpWebResponse)e.Response).StatusDescription;
                    StreamReader         reader  = new StreamReader(e.Response.GetResponseStream());
                    string               error   = reader.ReadToEnd();
                    JavaScriptSerializer js      = new JavaScriptSerializer();
                    string               mensaje = js.Deserialize <string>(error);

                    ModelState.AddModelError("MensajeError", mensaje);
                    return(View(citaEN));
                }
            }
            return(RedirectToAction("MisCitas"));
        }
示例#18
0
        public CitaEN DarBajaCita(CitaEN citaEN)
        {
            CitaEN citaDarBaja  = null;
            CitaEN citaDarBaja2 = null;

            try
            {
                int iCodigoCita = Convert.ToInt32(citaEN.Codigo);
                citaDarBaja = atiendeCitaDao.Obtener(iCodigoCita);

                citaDarBaja.Estado = 3;
                citaDarBaja2       = atiendeCitaDao.Modificar(citaDarBaja);
            }
            catch (Exception ex)
            {
                throw new WebFaultException <string>(ex.Message, HttpStatusCode.InternalServerError);
            }

            return(citaDarBaja2);
        }
示例#19
0
        public void Aceptar(int p_Cita_OID, bool p_aceptada)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CEN.UniDATES_Cita_Aceptar_customized) ENABLED START*/

            CitaEN citaEN = null;



            //Initialized CitaEN
            //citaEN = new CitaEN ();
            citaEN          = _ICitaCAD.ReadOID(p_Cita_OID);
            citaEN.Aceptada = p_aceptada;


            //Call to CitaCAD

            _ICitaCAD.Aceptar(citaEN);


            /*PROTECTED REGION END*/
        }
示例#20
0
        public CitaEN DarAltaCita(CitaEN citaEN)
        {
            CitaEN citaAlta    = null;
            CitaEN citaDarAlta = null;
            int    iCodigoCita = Convert.ToInt32(citaEN.Codigo);

            try
            {
                citaAlta = atiendeCitaDao.Obtener(iCodigoCita);
            }
            catch (Exception ex)
            {
                throw new WebFaultException <string>(ex.Message, HttpStatusCode.InternalServerError);
            }

            DateTime fecha = Convert.ToDateTime(citaAlta.Fecha);

            if (DateTime.Now.Date < fecha.Date)
            {
                throw new WebFaultException <string>("No es posible el alta. La fecha de cita es posterior a la fecha actual. Se debe dar alta el mismo dia de la cita.", HttpStatusCode.InternalServerError);
            }

            if (DateTime.Now.Date > fecha.Date.AddDays(1))
            {
                throw new WebFaultException <string>("No es posible el alta, debido a que ya se ha vencido el tiempo maximo de alta de cita (01 dias).", HttpStatusCode.InternalServerError);
            }

            try
            {
                citaAlta.Estado = 2;
                citaDarAlta     = atiendeCitaDao.Modificar(citaAlta);
            }
            catch (Exception ex)
            {
                throw new WebFaultException <string>(ex.Message, HttpStatusCode.InternalServerError);
            }

            return(citaDarAlta);
        }
示例#21
0
        public List <CitaEN> ListarCitasPendientesDeAtencion(string codigoUsuario)
        {
            List <CitaEN> listaCitas = null;
            var           codUsuario = Convert.ToInt32(codigoUsuario);

            listaCitas = CitaDAO.ListarCitasPendientesDeAtencion(codUsuario).ToList();

            try
            {
                string strConectado = ConfigurationManager.AppSettings["ModoDesconectado"];
                if (strConectado.Equals("1"))
                {
                    /******************** Preguntamos si existen Colas en la Bandeja ********************/
                    string rutacola = @".\private$\ColaCitas";
                    if (!MessageQueue.Exists(rutacola))
                    {
                        MessageQueue.Create(rutacola);
                    }
                    MessageQueue cola = new MessageQueue(rutacola);
                    if (cola.GetAllMessages().Count() > 0)
                    {
                        for (int i = 0; i < cola.GetAllMessages().Count(); i++)
                        {
                            cola.Formatter = new XmlMessageFormatter(new Type[] { typeof(CitaEN) });
                            Message mensaje = cola.Receive();
                            CitaEN  citaEN  = (CitaEN)mensaje.Body;

                            citaEN = CrearCita(citaEN);
                        }
                    }
                    /***********************************************************************************/
                }
            }
            catch (Exception ex)
            {
            }

            return(listaCitas);
        }
示例#22
0
        public void DarAltasTest()
        {
            string postdata = "{\"Codigo\":1,\"Estado\":1,\"Fecha\":\"16\\/02\\/2016\",\"HoraFin\":\"\\/Date(1455674400000-0500)\\/\",\"HoraInicio\":\"\\/Date(1455627600000-0500)\\/\",\"NroCita\":\"R2016021203251702\",\"Observacion\":\"2312321\",\"RangoHora\":0,\"Servicio\":{\"Codigo\":6,\"Descripcion\":\"BAJAR GASES\",\"Estado\":true,\"TiempoEstimado\":13,\"Valor\":297.00},\"Taller\":{\"Codigo\":1,\"Taller\":\"TALLER NRO 1\"},\"Usuario\":{\"Apellidos\":\"Juarez\",\"Codigo\":4,\"Correo\":\"[email protected]\",\"Dni\":\"44582563\",\"Estado\":false,\"Nombres\":\"Ivan\",\"Pass\":\"1234\",\"Perfil\":{\"Codigo\":2,\"Descripcion\":\"CLIENTE\",\"Estado\":true},\"Telefono\":\"987452361\",\"Usuario\":\"IVAN\",\"login\":null},\"Vehiculo\":{\"Anio\":2016,\"Codigo\":1,\"Color\":{\"Codigo\":16,\"Color\":\"Amarillo de zinc\"},\"Descripcion\":\"dasdsad\",\"Kilometros\":15000,\"Marca\":{\"Codigo\":7,\"Marca\":\"HONDA\"},\"Modelo\":{\"Codigo\":19,\"Marca\":{\"Codigo\":7,\"Marca\":\"HONDA\"},\"Modelo\":\"Honda Civic\"},\"Placa\":\"abc-111\",\"Usuario\":{\"Apellidos\":\"Castillo\",\"Codigo\":1,\"Correo\":\"[email protected]\",\"Dni\":\"45792116\",\"Estado\":true,\"Nombres\":\"Carlos\",\"Pass\":\"123\",\"Perfil\":{\"Codigo\":1,\"Descripcion\":\"ADMINISTRADOR\",\"Estado\":true},\"Telefono\":\"91440830\",\"Usuario\":\"CCASTILLO\",\"login\":null}}";

            byte[]         data = Encoding.UTF8.GetBytes(postdata);
            HttpWebRequest req  = (HttpWebRequest)WebRequest
                                  .Create("http://localhost:28603/AtencionCitaService.svc/Citas");

            req.Method        = "POST";
            req.ContentLength = data.Length;
            req.ContentType   = "application/json";
            var reqStream = req.GetRequestStream();

            reqStream.Write(data, 0, data.Length);
            HttpWebResponse res = null;

            try
            {
                res = (HttpWebResponse)req.GetResponse();
                StreamReader         reader       = new StreamReader(res.GetResponseStream());
                string               citaAltaJson = reader.ReadToEnd();
                JavaScriptSerializer js           = new JavaScriptSerializer();
                CitaEN               citaEnAlta   = js.Deserialize <CitaEN>(citaAltaJson);

                Assert.AreEqual(1, citaEnAlta.Codigo);
            }
            catch (WebException e)
            {
                HttpStatusCode       code    = ((HttpWebResponse)e.Response).StatusCode;
                string               message = ((HttpWebResponse)e.Response).StatusDescription;
                StreamReader         reader  = new StreamReader(e.Response.GetResponseStream());
                string               error   = reader.ReadToEnd();
                JavaScriptSerializer js      = new JavaScriptSerializer();
                string               mensaje = js.Deserialize <string>(error);
                Assert.AreEqual("No es posible el alta. La fecha de cita es posterior a la fecha actual. Se debe dar alta el mismo dia de la cita.", message);
            }
        }
示例#23
0
        public void DarBajasTest()
        {
            string postdata = "{\"Codigo\":2,\"NroCita\":null,\"Fecha\":null,\"HoraInicio\":\"\\/Date(-62135578800000)\\/\",\"RangoHora\":0,\"HoraFin\":\"\\/Date(-62135578800000)\\/\",\"Observacion\":null,\"Estado\":0,\"Usuario\":null,\"Vehiculo\":null,\"Servicio\":null,\"Taller\":null}";

            byte[]         data = Encoding.UTF8.GetBytes(postdata);
            HttpWebRequest req  = (HttpWebRequest)WebRequest
                                  .Create("http://localhost:28603/AtencionCitaService.svc/Citas");

            req.Method        = "POST";
            req.ContentLength = data.Length;
            req.ContentType   = "application/json";
            var reqStream = req.GetRequestStream();

            reqStream.Write(data, 0, data.Length);
            HttpWebResponse res = null;

            try
            {
                res = (HttpWebResponse)req.GetResponse();
                StreamReader         reader       = new StreamReader(res.GetResponseStream());
                string               citaAltaJson = reader.ReadToEnd();
                JavaScriptSerializer js           = new JavaScriptSerializer();
                CitaEN               citaEnBaja   = js.Deserialize <CitaEN>(citaAltaJson);

                Assert.AreEqual(2, citaEnBaja.Codigo);
            }
            catch (WebException e)
            {
                HttpStatusCode       code    = ((HttpWebResponse)e.Response).StatusCode;
                string               message = ((HttpWebResponse)e.Response).StatusDescription;
                StreamReader         reader  = new StreamReader(e.Response.GetResponseStream());
                string               error   = reader.ReadToEnd();
                JavaScriptSerializer js      = new JavaScriptSerializer();
                string               mensaje = js.Deserialize <string>(error);
            }
        }
示例#24
0
        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;
            }
        }
示例#25
0
        public CitaEN ModificarCita(CitaEN citaModificar)
        {
            CitaEN citaExistente = CitaDAO.Obtener(citaModificar.Codigo);

            return(CitaDAO.Modificar(citaModificar));
        }
示例#26
0
        public CitaEN CrearCita(CitaEN citaCrear)
        {
            CitaEN citaCreada    = null;
            string codigoNroCita = GenerarCodigoCitaNuevo();

            citaCrear.NroCita = codigoNroCita;

            int      anio = Convert.ToInt32(citaCrear.Fecha.Substring(6, 4));
            int      mes  = Convert.ToInt32(citaCrear.Fecha.Substring(3, 2));
            int      dia  = Convert.ToInt32(citaCrear.Fecha.Substring(0, 2));
            int      hhInicio;
            int      hhFinal; int mmFinal = 0; int ssFinal = 0;
            DateTime horaFinal;
            DateTime fechaCita = Convert.ToDateTime(citaCrear.Fecha);

            hhInicio = citaCrear.HoraInicio.Hour;

            ServicioEN servicioAsociado = null;

            try
            {
                //Obtener hora de termino calculada
                ServicioService proxy = new ServicioService();
                servicioAsociado = proxy.ObtenerServicio(citaCrear.Servicio.Codigo);
            }
            catch
            {
                servicioAsociado = new ServicioEN()
                {
                    Codigo = citaCrear.Servicio.Codigo, TiempoEstimado = 3
                };
            }

            hhFinal = hhInicio + servicioAsociado.TiempoEstimado;

            horaFinal         = new DateTime(anio, mes, dia, hhInicio, mmFinal, ssFinal);
            citaCrear.HoraFin = horaFinal.AddHours(hhFinal);

            //Estado
            citaCrear.Estado = 1; //Pendiente

            if (fechaCita.Date < DateTime.Now.Date)
            {
                throw new FaultException <RepetidoException>(new RepetidoException()
                {
                    Codigo  = 1,
                    Mensaje = "La fecha seleccionada de la cita es incorrecta."
                },
                                                             new FaultReason("Validación de negocio"));
            }

            if (citaCrear.HoraInicio <= DateTime.Now.AddHours(1))
            {
                throw new FaultException <RepetidoException>(new RepetidoException()
                {
                    Codigo  = 2,
                    Mensaje = "Las citas de servicios son registradas con 1 hora de anticipacion, por favor elija otro horario disponible."
                },
                                                             new FaultReason("Validación de negocio"));
            }


            try
            {
                //validar si el horario ya no esta disponible
                bool bEstaDisponibleHorario = false;
                bEstaDisponibleHorario = ValidarFechaHoraCitaXTaller(citaCrear.Fecha,
                                                                     citaCrear.HoraInicio,
                                                                     citaCrear.HoraFin,
                                                                     citaCrear.Taller.Codigo, citaCrear.Usuario.Codigo);

                if (bEstaDisponibleHorario)
                {
                    throw new FaultException <RepetidoException>(new RepetidoException()
                    {
                        Codigo  = 3,
                        Mensaje = "La fecha y hora seleccionada no esta disponible."
                    },
                                                                 new FaultReason("Validación de negocio"));
                }

                string strConectado = ConfigurationManager.AppSettings["ModoDesconectado"];
                if (strConectado.Equals("0"))
                {
                    throw new Exception("Modo Desconectado -  Colas");
                }

                citaCreada = CitaDAO.Crear(citaCrear);
            }
            catch (Exception ex)
            {
                citaCreada = citaCrear;
                string rutacola = @".\private$\ColaCitas";
                if (!MessageQueue.Exists(rutacola))
                {
                    MessageQueue.Create(rutacola);
                }
                MessageQueue cola = new MessageQueue(rutacola);

                Message mensaje = new Message();
                mensaje.Label = "Cola Usuario : " + citaCrear.Usuario.Usuario;
                mensaje.Body  = citaCrear;
                cola.Send(mensaje);
            }
            return(citaCreada);
        }
示例#27
0
        public UniDATESGenNHibernate.EN.UniDATES.MensajeEN New_(string p_texto, string p_imagen, string p_video, int p_emisor, int p_receptor)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CP.UniDATES_Mensaje_new_) ENABLED START*/

            IMensajeCAD mensajeCAD = null;
            MensajeCEN  mensajeCEN = null;
            CitaCAD     citaCAD    = null;
            CitaCEN     citaCEN    = null;

            UniDATESGenNHibernate.EN.UniDATES.MensajeEN result = null;


            try
            {
                SessionInitializeTransaction();
                mensajeCAD = new MensajeCAD(session);
                mensajeCEN = new  MensajeCEN(mensajeCAD);


                citaCAD = new CitaCAD(session);
                citaCEN = new CitaCEN(citaCAD);



                int oid;
                //Initialized MensajeEN
                MensajeEN mensajeEN;
                mensajeEN       = new MensajeEN();
                mensajeEN.Texto = p_texto;

                mensajeEN.Imagen = p_imagen;

                mensajeEN.Video = p_video;


                if (p_emisor != -1)
                {
                    mensajeEN.Emisor           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                    mensajeEN.Emisor.IdUsuario = p_emisor;
                }


                if (p_receptor != -1)
                {
                    mensajeEN.Receptor           = new UniDATESGenNHibernate.EN.UniDATES.UsuarioEN();
                    mensajeEN.Receptor.IdUsuario = p_receptor;
                }

                //Call to MensajeCAD

                oid = mensajeCAD.New_(mensajeEN);
                CitaEN citaEN = null;

                IList <CitaEN> citasSolicitadasE = citaCEN.DameChats(mensajeEN.Emisor.IdUsuario);
                IList <CitaEN> citasSolicitadasR = citaCEN.DameChats(mensajeEN.Receptor.IdUsuario);
                int            idCita            = -1;
                foreach (CitaEN cit in citasSolicitadasE)
                {
                    int idCitaEmisor = cit.IdCita;
                    //Console.WriteLine ("IDCita emisor: " + idCitaEmisor);
                    foreach (CitaEN cita in citasSolicitadasR)
                    {
                        int idCitaReceptor = cita.IdCita;
                        // Console.WriteLine ("IdCitaReceptor: " + idCitaReceptor);
                        if (idCitaEmisor == idCitaReceptor)
                        {
                            idCita = idCitaEmisor;
                        }
                    }
                }

                if (idCita != -1)
                {
                    citaEN = citaCEN.ReadOID(idCita);
                }


                if (citaEN != null)
                {
                    result = mensajeCAD.ReadOIDDefault(oid);
                }



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }