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; } }
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(); } }
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*/ }
// 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(); } }
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")); }
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")); } }
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); }
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); }
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)); }
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*/ }
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); }
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")); }
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); }
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*/ }
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); }
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); }
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); } }
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); } }
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; } }
public CitaEN ModificarCita(CitaEN citaModificar) { CitaEN citaExistente = CitaDAO.Obtener(citaModificar.Codigo); return(CitaDAO.Modificar(citaModificar)); }
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); }
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*/ }