protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ReservacionSalaJuntasLayout); Toolbar toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetActionBar(toolbar); ActionBar.Title = Resources.GetString(Resource.String.str_meeting_room_reservation); ActionBar.SetDisplayHomeAsUpEnabled(true); FindViewById <TextView>(Resource.Id.txtSeleccionarFecha).Text = fecha_seleccionada = DateTime.Now.ToString("yyyy-MM-dd"); FindViewById <TextView>(Resource.Id.txtSeleccionarHoraInicio).Text = hora_inicio_seleccionada = CalendarHelper.RoundUp(DateTime.Now, TimeSpan.FromMinutes(30)).ToString("HH:mm"); FindViewById <TextView>(Resource.Id.txtSeleccionarHoraFin).Text = hora_fin_seleccionada = CalendarHelper.RoundUp(DateTime.Now.AddMinutes(30), TimeSpan.FromMinutes(30)).ToString("HH:mm"); FindViewById <TextView>(Resource.Id.lblCreditosDisponibles).Text = SalasController.GetCreditosDisponibles(storage.Get("Usuario_Id")).ToString(); FindViewById <LinearLayout>(Resource.Id.llSeleccionarFecha).Click += (sender, e) => { DatePickerMinFragment frag = DatePickerMinFragment.NewInstance(delegate(DateTime time) { FindViewById <TextView>(Resource.Id.lblDiaFecha).Text = time.DayOfWeek.ToString().Substring(0, 3); FindViewById <TextView>(Resource.Id.lblDiaNumero).Text = time.Day.ToString(); FindViewById <TextView>(Resource.Id.txtSeleccionarFecha).Text = fecha_seleccionada = time.ToString("yyyy-MM-dd"); SeleccionElemento(); }); frag.Show(FragmentManager, Resources.GetString(Resource.String.str_label_select_date)); }; FindViewById <LinearLayout>(Resource.Id.llSeleccionarHoraInicio).Click += (sender, e) => { TimePickerIntervalFragment frag = TimePickerIntervalFragment.NewInstance(delegate(DateTime time) { FindViewById <TextView>(Resource.Id.txtSeleccionarHoraInicio).Text = hora_inicio_seleccionada = time.ToString("HH:mm"); if (DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours < 0) { FindViewById <TextView>(Resource.Id.txtSeleccionarHoraFin).Text = hora_fin_seleccionada = time.AddMinutes(30).ToString("HH:mm"); } SeleccionElemento(); FindViewById <TextView>(Resource.Id.lblHorasTotal).Text = DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours.ToString(); FindViewById <TextView>(Resource.Id.lblCreditosUsados).Text = CalcularCreditos().ToString(); }); frag.Show(FragmentManager, Resources.GetString(Resource.String.str_label_select_hour_initial)); }; FindViewById <LinearLayout>(Resource.Id.llSeleccionarHoraFin).Click += (sender, e) => { TimePickerIntervalFragment frag = TimePickerIntervalFragment.NewInstance(delegate(DateTime time) { if (DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours > 0) { FindViewById <TextView>(Resource.Id.txtSeleccionarHoraFin).Text = hora_fin_seleccionada = time.ToString("HH:mm"); SeleccionElemento(); FindViewById <TextView>(Resource.Id.lblHorasTotal).Text = DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours.ToString(); FindViewById <TextView>(Resource.Id.lblCreditosUsados).Text = CalcularCreditos().ToString(); } else { Toast.MakeText(this, "Su hora de termino debe ser mayor a la hora de inicio", ToastLength.Short).Show(); } }); frag.Show(FragmentManager, Resources.GetString(Resource.String.str_label_select_hour_final)); }; salas = SalasController.GetSalaJuntas(Intent.GetStringExtra("sucursal_id"), fecha_seleccionada, hora_inicio_seleccionada, hora_fin_seleccionada); FillImagenes(); lvSalasJuntas = FindViewById <ListView>(Resource.Id.lvSalasJuntas); lvSalasJuntas.SetMinimumHeight(salas.Count * 200); lvSalasJuntas.Adapter = new SalasJuntasListAdapter(salas); lvSalasJuntas.ItemClick += (sender, e) => { sala_seleccionada = salas[e.Position]; }; FindViewById <RadioGroup>(Resource.Id.rgCapacidad).CheckedChange += (sender, e) => { SeleccionElemento(); }; FindViewById <TextView>(Resource.Id.lblDiaFecha).Text = DateTime.Parse(fecha_seleccionada).DayOfWeek.ToString().Substring(0, 3); FindViewById <TextView>(Resource.Id.lblDiaNumero).Text = DateTime.Parse(fecha_seleccionada).Day.ToString(); FindViewById <TextView>(Resource.Id.lblHorasTotal).Text = DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours.ToString(); FindViewById <TextView>(Resource.Id.lblCreditosUsados).Text = CalcularCreditos().ToString();//DateTime.Parse(hora_fin_seleccionada).Subtract(DateTime.Parse(hora_inicio_seleccionada)).TotalHours.ToString(); FindViewById <TextView>(Resource.Id.lblAgendar).Click += delegate { if (sala_seleccionada != null) { ShowConfirmacion(); } else { Toast.MakeText(this, "Seleccione una sala de reunión", ToastLength.Short).Show(); } }; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ReservaSalaJuntasLayout); Toolbar toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetActionBar(toolbar); ActionBar.Title = Resources.GetString(Resource.String.str_meeting_room_reservation); ActionBar.SetDisplayHomeAsUpEnabled(true); /*_viewPager = FindViewById<ViewPager>(Resource.Id.vpSucursal);*/ salas = SalasController.GetSalaJuntas(Intent.GetStringExtra("sucursal_id")); /*niveles = SalasController.GetNivelesSucursal(Intent.GetStringExtra("sucursal_id")); * _viewPager.Adapter = new SalaJuntasAdapter(this, salas);*/ //tlSalasJuntas = FindViewById<TableLayout>(Resource.Id.tlSalasJuntas); Horarios.Add(fecha_seleccionada, new List <double>()); ListView lvSalasJuntas = FindViewById <ListView>(Resource.Id.lvSalasJuntas); lvSalasJuntas.Adapter = new SalasJuntasListAdapter(salas); lvSalasJuntas.ChoiceMode = ChoiceMode.Single; lvSalasJuntas.ItemSelected += (sender, e) => { Console.WriteLine(((ListView)sender).ChildCount); }; /*salas.ForEach(sala => * { * LayoutInflater liView = LayoutInflater; * View SucursalView = liView.Inflate(Resource.Layout.SalasJuntasLayout, null, true); * SucursalView.FindViewById<LinearLayout>(Resource.Id.llSalaJunta).Click += delegate * { * SucursalView.FindViewById<LinearLayout>(Resource.Id.llReserva).Visibility = ViewStates.Visible; * }; * SucursalView.FindViewById<TextView>(Resource.Id.lblSalaJunta).Text = sala.Sala_Descripcion; * SucursalView.FindViewById<TextView>(Resource.Id.tvCapacidad).Text = sala.Sala_Capacidad + "-" + (Convert.ToInt32(sala.Sala_Capacidad) + 2).ToString(); * SucursalView.FindViewById<TextView>(Resource.Id.tvNivel).Text = "Nivel " + Convert.ToInt32(sala.Sala_Nivel).ToString("00"); * TableRow row = new TableRow(this); * row.AddView(SucursalView); * tlSalasJuntas.AddView(row); * });*/ FindViewById <TextView>(Resource.Id.lblCreditosDisponibles).Text = SalasController.GetCreditosDisponibles(storage.Get("Usuario_Id")).ToString(); FindViewById <LinearLayout>(Resource.Id.llSeleccionarFecha).Click += (sender, e) => { DatePickerMinFragment frag = DatePickerMinFragment.NewInstance(delegate(DateTime time) { FindViewById <TextView>(Resource.Id.lblDiaFecha).Text = time.DayOfWeek.ToString().Substring(0, 3); FindViewById <TextView>(Resource.Id.lblDiaNumero).Text = time.Day.ToString(); fecha_seleccionada = time.ToString("d"); Horarios.Clear(); Horarios.Add(fecha_seleccionada, new List <double>()); UpdateHorasNoDisponibles(); }); frag.Show(FragmentManager, Resources.GetString(Resource.String.str_meeting_room_reservation)); }; FindViewById <TextView>(Resource.Id.lblDiaFecha).Text = DateTime.Parse(fecha_seleccionada).DayOfWeek.ToString().Substring(0, 3); FindViewById <TextView>(Resource.Id.lblDiaNumero).Text = DateTime.Parse(fecha_seleccionada).Day.ToString(); FindViewById <TextView>(Resource.Id.lblHorasTotal).Text = Horarios[fecha_seleccionada].Count.ToString(); FindViewById <TextView>(Resource.Id.lblCreditosUsados).Text = creditos.ToString(); /*Spinner spNivel = FindViewById<Spinner>(Resource.Id.spNivel); * spNivel.Adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem, niveles.Keys.ToList()); * spNivel.SetSelection(niveles.Count - 1); * spNivel.ItemSelected += (sender, e) => * { * salas = SalasController.GetSalaJuntas(Intent.GetStringExtra("sucursal_id"), niveles[((Spinner)sender).SelectedItem.ToString()]); * _viewPager.Adapter = new SalaJuntasAdapter(this, salas); * };*/ llhHorario = FindViewById <LinearLayout>(Resource.Id.llhHorario); SalasController.GetHorasNoDisponibles(fecha_seleccionada, salas[SalaSeleccionada].Sala_Id).ForEach(horas => { HorasNoDisponibles.Add(DateTime.Parse(horas.Sala_Hora_Fin).Hour); UpdateHorasNoDisponibles(); }); /*_viewPager.PageSelected += (sender, e) => * { * HorasNoDisponibles.Clear(); * SalasController.GetHorasNoDisponibles(fecha_seleccionada, salas[_viewPager.CurrentItem].Sala_Id).ForEach(horas => * { * HorasNoDisponibles.Add(DateTime.Parse(horas.Sala_Hora_Fin).Hour); * }); * if (!Horarios.ContainsKey(salas[_viewPager.CurrentItem].Sala_Id)) * Horarios.Add(salas[_viewPager.CurrentItem].Sala_Id, new Dictionary<string, List<double>>()); * if (!Horarios[salas[_viewPager.CurrentItem].Sala_Id].ContainsKey(fecha_seleccionada)) * Horarios[salas[_viewPager.CurrentItem].Sala_Id].Add(fecha_seleccionada, new List<double>()); * UpdateHorasNoDisponibles(); * FillHorario(); * };*/ FindViewById <RelativeLayout>(Resource.Id.rlAgendar).Click += (sender, e) => ShowConfirmacion(); UpdateHorasNoDisponibles(); FillHorario(); HorizontalScrollView scrollHoras = FindViewById <HorizontalScrollView>(Resource.Id.hsvHorario); scrollHoras.PostDelayed(delegate { if (Convert.ToInt32(Build.VERSION.Sdk) < 23) { scrollHoras.ScrollTo(DateTime.Now.Hour * 200, 0); } else { scrollHoras.ScrollTo(DateTime.Now.Hour * 400, 0); } }, 100); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.InvitadosLayout); SimpleStorage.SetContext(ApplicationContext); storage = SimpleStorage.EditGroup("Login"); Toolbar toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); SetActionBar(toolbar); ActionBar.Title = Resources.GetString(Resource.String.RegistroInvitados); ActionBar.SetDisplayHomeAsUpEnabled(true); TextView lblFecha = FindViewById <TextView>(Resource.Id.lblFecha); lblFecha.Text = DateTime.Now.ToString("MMMM dd, yyyy hh:mm tt").ToUpper(); FindViewById <Button>(Resource.Id.btnFecha).Click += (sender, e) => { DatePickerMinFragment frag = DatePickerMinFragment.NewInstance(delegate(DateTime time) { TimePickerFragment timeFrag = TimePickerFragment.NewInstance(delegate(DateTime hour) { lblFecha.Text = time.ToString("MMMM dd, yyyy ").ToUpper() + hour.ToString("hh:mm tt"); }); timeFrag.Show(FragmentManager, Resources.GetString(Resource.String.str_meeting_room_reservation)); }); frag.Show(FragmentManager, Resources.GetString(Resource.String.str_meeting_room_reservation)); }; Nombre = FindViewById <EditText>(Resource.Id.txtNombre); Apellidos = FindViewById <EditText>(Resource.Id.txtApellidos); Correo = FindViewById <EditText>(Resource.Id.txtEmail); DatosBasicos = FindViewById <LinearLayout>(Resource.Id.llInvitados); Spinner ubicacion = FindViewById <Spinner>(Resource.Id.spUbicacion); Dictionary <string, string> sucursales = new SucursalController().GetSucursalInfo(); List <string> display = sucursales.Keys.ToList(); ubicacion.Adapter = new ArrayAdapter <string>(this, Resource.Drawable.spinner_style, display); EditText txtAsunto = FindViewById <EditText>(Resource.Id.txtAsunto); FindViewById <TextView>(Resource.Id.lblAgregarInvitado).Click += (sender, e) => AddDatosBasicos(); FindViewById <TextView>(Resource.Id.lblEnviar).Click += delegate { List <int> invitados_id = new List <int>(); AssetManager asset = Assets; correoInvitacion = new StreamReader(asset.Open("Invitacion.html")).ReadToEnd(); SucursalModel sucursal = new SucursalController().GetSucursalInfo(sucursales[ubicacion.SelectedItem.ToString()]); invitados.AsParallel().ToList().ForEach(invitado => { try { invitados_id.Add(new InvitadosController().RegistraInvitado(invitado.Usuario_Nombre, invitado.Usuario_Apellidos, invitado.Usuario_Correo_Electronico, txtAsunto.Text, DateTime.Parse(lblFecha.Text), sucursales[ubicacion.SelectedItem.ToString()], storage.Get("Usuario_Id"), storage.Get("Usuario_Tipo"))); email.SendMail(invitado.Usuario_Correo_Electronico, invitado.Usuario_Nombre + " " + invitado.Usuario_Apellidos, correoInvitacion.Replace("{{NOMBRE}}", invitado.Usuario_Nombre + " " + invitado.Usuario_Apellidos) .Replace("{{FECHA}}", lblFecha.Text) .Replace("{{SUCURSAL}}", sucursal.Sucursal_Descripcion) .Replace("{{CALLE}}", sucursal.Sucursal_Domicilio) .Replace("{{COLONIA}}", sucursal.Territorio.Colonia) .Replace("{{QR}}", "INVITADO"), "Tiene una invitación"); Toast.MakeText(this, Resource.String.str_general_data_saved, ToastLength.Short).Show(); } catch (Exception e) { Toast.MakeText(this, Resource.String.str_general_save_error, ToastLength.Short).Show(); SlackLogs.SendMessage(e.Message, GetType().Name, "OnCreate"); } }); if (invitados_id.Count != 0) { Intent intent = new Intent(this, typeof(InvitadosConfirmacionActivity)); intent.PutExtra("Invitados_Id", JsonConvert.SerializeObject(invitados_id)); StartActivity(intent); Finish(); } }; }