Esempio n. 1
0
        //step 5
        private void Payment()
        {
            this.NextLabel = "Siguente";
            //whether the user selected a photo or not
            //let¿s ask for payment info
            this.Description = "Información de pago";
            this.ClearContentBox();

            Label l1 = new Label("Inscribir en");
            Label l2 = new Label("Miembro desde");
            Label l3 = new Label("Día de pago");

            ComboBox pack_combo;
            DateWidget dw_since = new DateWidget();
            SpinButton payment_day_spin = new SpinButton(1, 31, 1);

            payment_day_spin.Value = dw_since.Date.Day;

            int found_index = -1;
            long found_id = -1;
            long id_0 = -1;
            PackModel pm = new PackModel();
            IDataReader r = pm.GetAll();
            string[] packs = new string[pm.Count()];
            for(int i = 0; r.Read(); i++)
            {
                if(i == 0)
                    id_0 = (long) r["Id"];
                packs[i] = (string) r["Name"];
                if(((long) r["Id"]) == this.TargetMember.Pack)
                {
                    found_id = (long) r["Id"];
                    found_index = i;
                }
            }
            pack_combo = new ComboBox(packs);

            if(found_index == -1)
            {
                pack_combo.Active = 0;
                this.TargetMember.Pack = id_0;
            }

            else
            {
                pack_combo.Active = found_index;
                this.TargetMember.Pack = found_id;
            }

            dw_since.Date = this.TargetMember.JoinDate;
            payment_day_spin.Value = this.TargetMember.PaymentDay;

            //connect with targetmemeber
            dw_since.Changed += (s, a) => this.TargetMember.JoinDate = dw_since.Date;
            payment_day_spin.Changed += (s, a) => this.TargetMember.PaymentDay = payment_day_spin.ValueAsInt;
            pack_combo.Changed += (s, a) =>
            {
                IDataReader r2 = pm.GetBy("Name", pack_combo.ActiveText);
                r2.Read();
                this.TargetMember.Pack = (long) r2["Id"];
            };

            CheckButton month_check = new CheckButton("Cobrar primer mes");
            CheckButton membership_check = new CheckButton("Cobrar inscripción");

            month_check.Active = this.TargetMember.ChargeFirstMonth;
            membership_check.Active = this.TargetMember.ChargeMembership;
            month_check.Toggled += (object s, EventArgs args) => this.TargetMember.ChargeFirstMonth = ((CheckButton) s).Active;
            membership_check.Toggled += (object s, EventArgs args) => this.TargetMember.ChargeMembership = ((CheckButton) s).Active;

            this.PackWidgetPair(l1, pack_combo);
            this.PackWidgetPair(l2, dw_since.Box);
            this.PackWidgetPair(l3, payment_day_spin);
            this.PackWidgetSingle(new Label("\n"));
            this.PackWidgetSingle(month_check);
            this.PackWidgetSingle(membership_check);
            this.ContentVBox.ShowAll();
        }
Esempio n. 2
0
        private void CustomBuild()
        {
            this.BirthdayWidget = new DateWidget();
            this.SinceWidget = new DateWidget();

            this.BirthdayBox.Add(this.BirthdayWidget.Box);
            this.SinceBox.Add(this.SinceWidget.Box);

            //configuring some ui elements
            /*this.HeightSpin.SetRange(1, 2.5);
            this.HeightSpin.SetIncrements(0.01, 0.01);
            this.WeightSpin.SetRange(40, 200);
            this.WeightSpin.SetIncrements(0.01, 0.01);*/
            this.PhotoButton.FocusOnClick = false;

            this.GenderCombo.AppendText("Masculino");
            this.GenderCombo.AppendText("Femenino");

            PackModel pm = new PackModel();
            IDataReader reader = pm.GetAll();
            while(reader.Read())
                this.PackCombo.AppendText((string) reader["Name"]);

            //columns for the nodeview
            this.MembersNodeView.AppendColumn("Id", new CellRendererText(), "text", 0);
            this.MembersNodeView.AppendColumn("Nombre", new CellRendererText(), "text", 1);
        }
Esempio n. 3
0
        //step 3
        private void MemberInfo()
        {
            //if the member's inner client is null and the user has reached this
            //step, the user has chosen a client id instead of creating one...
            //and here we are verifying the info given before
            if(this.TargetMember.InnerClient == null)
            {
                ClientModel cm = new ClientModel();
                bool error = false;
                string msg = "";
                Client c = new Client();
                c.Id = this.ClientId;

                if(!cm.ExistsById(c.Id))
                {
                    msg = "No se puede encontrar al número de cliente " + this.ClientId;
                    error = true;
                }

                else if(cm.IsMember(c))
                {
                    msg = "El cliente elegido ya es un miembro del gimnasio";
                    error = true;
                }

                if(error)
                {
                    GuiHelper.ShowError(this, msg);
                    this.Step -= 1;
                    return;
                }
            }

            //ok, let's continue if everything as expected:
            //if InnerClient == null, this.ClientId should hold
            //an integer pointing to an existing client :)

            if(!this.MemberInitialized)
            {
                this.MemberInitialized = true;
                this.TargetMember.Height = 1.0;
                this.TargetMember.Weight = 40.0;
                this.TargetMember.Gender = 'm';
                this.TargetMember.BirthDate = DateTime.Today;
                Contact ctc = new Contact();
                ctc.Name = "";
                ctc.PhoneNumber = "";
                this.TargetMember.InnerContact = ctc;
                this.TargetMember.PaymentDay = DateTime.Today.Day;
                this.TargetMember.JoinDate = DateTime.Today;
                this.TargetMember.Pack = 0;
            }

            this.ClearContentBox();
            this.Description = "Información requerida del nuevo miembro";

            Label l1 = new Label("Peso (Kg)");
            Label l2 = new Label("Estatura (Mts)");
            Label l3 = new Label("Sexo");
            Label l4 = new Label("Nacimiento");
            Label l5 = new Label("\nEn caso de accidente, contactar a la siguiente persona:\n");
            Label l6 = new Label("Nombre");
            Label l7 = new Label("Teléfono");

            SpinButton weight_spin = new SpinButton(40, 200, 0.01);
            SpinButton height_spin = new SpinButton(1, 2.5, 0.01);
            ComboBox gender_combo = new ComboBox(new string[] {"Masculino", "Femenino"});
            DateWidget dw = new DateWidget();
            Entry contact_name_entry = new Entry();
            Entry contact_phone_entry = new Entry();

            weight_spin.Changed += (s, a) =>
            {
                float weight;
                this.TargetMember.Weight = (float.TryParse(weight_spin.Text, out weight) ? weight : weight_spin.Value);
            };

            height_spin.Changed += (s, a) =>
            {
                float height;
                this.TargetMember.Height = (float.TryParse(height_spin.Text, out height) ? height : height_spin.Value);
            };

            gender_combo.Changed += (s, a) => this.TargetMember.Gender = (gender_combo.Active == 0 ? 'm' : 'f');
            contact_name_entry.Changed += (s, a) => this.TargetMember.InnerContact.Name = contact_name_entry.Text.Trim();
            contact_phone_entry.Changed += (s, a) => this.TargetMember.InnerContact.PhoneNumber = contact_phone_entry.Text.Trim();
            dw.Changed += (s, a) => this.TargetMember.BirthDate = dw.Date;

            this.PackWidgetPair(l1, weight_spin);
            this.PackWidgetPair(l2, height_spin);
            this.PackWidgetPair(l3, gender_combo);
            this.PackWidgetPair(l4, dw.Box);
            this.PackWidgetSingle(l5);
            this.PackWidgetPair(l6, contact_name_entry);
            this.PackWidgetPair(l7, contact_phone_entry);

            weight_spin.Value = this.TargetMember.Weight;
            height_spin.Value = this.TargetMember.Height;
            gender_combo.Active = (this.TargetMember.Gender == 'm' ? 0 : 1);
            dw.Date = this.TargetMember.BirthDate;

            contact_name_entry.Text = this.TargetMember.InnerContact.Name;
            contact_phone_entry.Text = this.TargetMember.InnerContact.PhoneNumber;

            this.ContentVBox.ShowAll();
        }