//public static bool crear(string idCliente, int nroDirOrigen, string calleOrigen, int idLocalidadOrigen, // int nroDirDestino, string calleDestino, int idLocalidadDestino, decimal precioPedido) //{ // using (TeloBuscoEntities db = new TeloBuscoEntities()) // { // try // { // Pedidos pedido = new Pedidos(); // pedido.idCliente = idCliente; // pedido.nro_calle_origen = nroDirOrigen; // pedido.calle_origen = calleOrigen; // Localidades localidadOrigen = LocalidadesServicio.obtener(idLocalidadOrigen); // pedido.Localidades = localidadOrigen; // pedido.id_localidad_origen = idLocalidadOrigen; // pedido.nro_calle_destino = nroDirDestino; // pedido.calle_destino = calleDestino; // Localidades localidadDestino = LocalidadesServicio.obtener(idLocalidadDestino); // pedido.Localidades1 = localidadDestino; // pedido.id_localidad_destino = idLocalidadDestino; // pedido.precio_predido = precioPedido; // pedido.id_estado = EstadosPedidoServicio.obtenerIdPorDescripcion("Pendiente"); // db.Pedidos.Add(pedido); // db.SaveChanges(); // return true; // } // catch (Exception ex) // { // return false; // } // } //} public static bool Crear(Pedido pedido) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { Pedidos pedidoAlmacenar = new Pedidos(); pedidoAlmacenar.idCliente = pedido.IdCliente; pedidoAlmacenar.nro_calle_origen = pedido.NroCalleOrigen; pedidoAlmacenar.calle_origen = pedido.CalleOrigen; //Localidades localidadOrigen = LocalidadesServicio.obtener(pedido.IdLocalidadOrigen); Localidades localidadOrigen = db.Localidades.Where(x => x.idLocalidad == pedido.IdLocalidadOrigen).FirstOrDefault(); pedidoAlmacenar.Localidades = localidadOrigen; pedidoAlmacenar.id_localidad_origen = pedido.IdLocalidadOrigen; pedidoAlmacenar.nro_calle_destino = pedido.NroCalleDestino; pedidoAlmacenar.calle_destino = pedido.CalleDestino; //Localidades localidadDestino = LocalidadesServicio.obtener(pedido.IdLocalidadDestino); Localidades localidadDestino = db.Localidades.Where(x => x.idLocalidad == pedido.IdLocalidadDestino).FirstOrDefault(); pedidoAlmacenar.Localidades1 = localidadDestino; pedidoAlmacenar.id_localidad_destino = pedido.IdLocalidadDestino; pedidoAlmacenar.precio_predido = pedido.PrecioPedido; pedidoAlmacenar.id_estado = EstadosServicio.obtenerIdEstadoPedidoPorDescripcion("Pendiente"); pedidoAlmacenar.descripcion_pedido = pedido.Descripcion; pedidoAlmacenar.observaciones_pedido = pedido.Observaciones; pedidoAlmacenar.IdTipoActividad = TiposActividadesServicio.obtenerIdPorDescripcion("Pedido"); /*ALMACENAR COORDENADAS*/ string Provincia = "Santa Fe"; string Pais = "Argentina"; /*ORIGEN*/ string DireccionOrigen = pedido.CalleOrigen + " " + pedido.NroCalleOrigen + ", " + localidadOrigen.Nombre + ", " + Provincia + ", " + Pais; var coordenadasOrigen = Utilidades.Comunes.ObtenerCoordenada(DireccionOrigen); if (coordenadasOrigen != null) { pedidoAlmacenar.lat_origen = coordenadasOrigen.lat; pedidoAlmacenar.lng_origen = coordenadasOrigen.lng; } /*DESTINO*/ string DireccionDestino = pedido.CalleDestino + " " + pedido.NroCalleDestino + ", " + localidadDestino.Nombre + ", " + Provincia + ", " + Pais; var coordenadasDestino = Utilidades.Comunes.ObtenerCoordenada(DireccionDestino); if (coordenadasDestino != null) { pedidoAlmacenar.lat_destino = coordenadasDestino.lat; pedidoAlmacenar.lng_destino = coordenadasDestino.lng; } db.Pedidos.Add(pedidoAlmacenar); db.SaveChanges(); return(true); } catch (Exception ex) { return(false); } } }
public static bool Crear(Postulacion postulacion) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { int idTipoActividad = TiposActividadesServicio.obtenerIdPorDescripcion("Postulación"); int idEstadoPostulacion = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("Postulado"); Postulaciones postulacionAlmacenar = new Postulaciones { IdTipoActividad = idTipoActividad, IdPedido = postulacion.IdPedido, IdUsuarioPostulado = postulacion.IdUsuarioPostulado, IdEstadoPostulacion = idEstadoPostulacion, TiempoEstimado = postulacion.TiempoEstimado, Precio = postulacion.Precio }; db.Postulaciones.Add(postulacionAlmacenar); db.SaveChanges(); // Crear notificacion int idEstadoPostulacionNotificacion = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("No vista"); string idUsuarioReceptor = PedidosServicio.ObtenerIdDueñoPedido(postulacion.IdPedido); string nombrePostulado = AspNetUsersServicio.ObtenerNombrePorId(postulacion.IdUsuarioPostulado); nombrePostulado = nombrePostulado != null ? nombrePostulado : ""; Notificaciones notificacion = new Notificaciones() { IdTipoActividad = idTipoActividad, IdEstadoNotificacion = idEstadoPostulacionNotificacion, Descripcion = "Nueva postulación a su pedido: " + nombrePostulado, IdUsuarioReceptor = idUsuarioReceptor, IdActividad = postulacionAlmacenar.IdPostulacion }; db.Notificaciones.Add(notificacion); db.SaveChanges(); return(true); } catch (Exception ex) { return(false); } } }
public static int obtenerIdEstadoPostulacionPorDescripcion(string descripcion) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { int idTipoActividad = TiposActividadesServicio.obtenerIdPorDescripcion("Postulación"); return(db.Estados.Where(x => x.IdTipoActividad == idTipoActividad && x.Descripcion == descripcion) .FirstOrDefault().IdEstado); } catch (Exception ex) { return(0); } } }
public static List <NotificacionApi> ObtenerNotificacionesPostulacionesAceptadasApi(string idUsuario) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { List <NotificacionApi> notificacionesApi = new List <NotificacionApi>(); int idNoVisto = EstadosServicio.obtenerIdPorDescripcion("No vista"); int idPostulacionAceptada = TiposActividadesServicio.obtenerIdPorDescripcion("Postulación Aceptada"); var listaNotificaciones = db.Notificaciones .Include("TiposActividades") .Include("Estados") .Include("AspNetUsers") .Include("Postulaciones") .Include("Postulaciones.Pedidos") .Include("Postulaciones.Pedidos.Localidades") .Include("Postulaciones.Pedidos.Localidades1") .Where(x => x.IdUsuarioReceptor == idUsuario && x.IdEstadoNotificacion == idNoVisto && x.IdTipoActividad == idPostulacionAceptada) .ToList(); foreach (var notificacion in listaNotificaciones) { NotificacionApi notificacionApi = new NotificacionApi() { Descripcion = notificacion.Descripcion, DescripcionPedido = notificacion.Postulaciones.Pedidos.descripcion_pedido, ObservacionPedido = notificacion.Postulaciones.Pedidos.observaciones_pedido != null? notificacion.Postulaciones.Pedidos.observaciones_pedido : "Ninguna", NombreCliente = notificacion.AspNetUsers.NombreApellido, DireccionOrigen = notificacion.Postulaciones.Pedidos.calle_origen + " " + notificacion.Postulaciones.Pedidos.nro_calle_origen + ", " + notificacion.Postulaciones.Pedidos.Localidades.Nombre, DireccionDestino = notificacion.Postulaciones.Pedidos.calle_destino + " " + notificacion.Postulaciones.Pedidos.nro_calle_destino + ", " + notificacion.Postulaciones.Pedidos.Localidades1.Nombre, Precio = Math.Round(notificacion.Postulaciones.Pedidos.precio_predido, 2) }; notificacionesApi.Add(notificacionApi); } return(notificacionesApi); } catch (Exception ex) { return(null); } } }
public static bool Aceptar(int idPostulacion) { using (TeloBuscoEntities db = new TeloBuscoEntities()) { try { /*Cambiar el estado de la postulación a: Aceptado*/ int idEstadoAceptado = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("Aceptado"); var postulacionAlmacenada = db.Postulaciones.Include("AspNetUsers") .Include("Estados") .Where(x => x.IdPostulacion == idPostulacion) .FirstOrDefault(); postulacionAlmacenada.IdEstadoPostulacion = idEstadoAceptado; db.SaveChanges(); /*Agregar notificacion de aceptado*/ int idTipoActividad = TiposActividadesServicio.obtenerIdPorDescripcion("Postulación Aceptada"); int idEstadoPostulacionNotificacion = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("No vista"); string idUsuarioReceptor = postulacionAlmacenada.IdUsuarioPostulado; int idActividad = postulacionAlmacenada.IdPostulacion; Notificaciones notificacion = new Notificaciones() { IdTipoActividad = idTipoActividad, IdEstadoNotificacion = idEstadoPostulacionNotificacion, Descripcion = "¡Postulación aceptada!", IdUsuarioReceptor = idUsuarioReceptor, IdActividad = idActividad }; db.Notificaciones.Add(notificacion); db.SaveChanges(); /*Agregar Delivery y precio al pedido*/ int idPedido = postulacionAlmacenada.IdPedido; int idEstadoAsignado = EstadosServicio.obtenerIdEstadoPedidoPorDescripcion("Asignado"); var pedido = db.Pedidos.Where(x => x.IdPedido == idPedido).FirstOrDefault(); pedido.idDelivery = postulacionAlmacenada.IdUsuarioPostulado; pedido.precio_transporte = postulacionAlmacenada.Precio; pedido.id_estado = idEstadoAsignado; /*Colocar el pedido en estado asignado*/ db.SaveChanges(); /*Cambiar el estado del resto de postulaciones a ese pedudo a: Rechazado*/ int idEstadoRechazado = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("Rechazado"); var listaPostulaciones = db.Postulaciones.Include("AspNetUsers") .Include("Estados") .Where(x => x.IdPedido == idPedido && x.IdPostulacion != idPostulacion) .ToList(); foreach (var postulacion in listaPostulaciones) { postulacion.IdEstadoPostulacion = idEstadoRechazado; db.SaveChanges(); /*Agregar notificación de rechazado por cada pedido*/ int idTipoActividadR = TiposActividadesServicio.obtenerIdPorDescripcion("Postulación Rechazada"); int idEstadoPostulacionNotificacionR = EstadosServicio.obtenerIdEstadoPostulacionPorDescripcion("No vista"); string idUsuarioReceptorR = postulacion.IdUsuarioPostulado; int idActividadR = postulacion.IdPostulacion; Notificaciones notificacionR = new Notificaciones() { IdTipoActividad = idTipoActividadR, IdEstadoNotificacion = idEstadoPostulacionNotificacionR, Descripcion = "Lo sentimos, su postulación ha sido rechazada.", IdUsuarioReceptor = idUsuarioReceptorR, IdActividad = idActividadR }; db.Notificaciones.Add(notificacionR); db.SaveChanges(); } return(true); } catch (Exception ex) { return(false); } } }