Esempio n. 1
0
        private void LoadData()
        {
            ArrayList al = new ArrayList();

            if (this.Id != 0)
            {
                al         = DBLayer.ClientsAbonements.GetList(this.Id);
                Abonements = al;
            }
            else
            {
                al = Abonements;
            }

            DataTable dt = new DataTable();

            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("StayCount", typeof(int));
            dt.Columns.Add("Name");
            dt.Columns.Add("Coach");
            dt.Columns.Add("Time");
            dt.Columns.Add("Weekdays");
            dt.Columns.Add("DateStart", typeof(DateTime));
            dt.Columns.Add("DateFinish", typeof(DateTime));

            for (int i = 0; i < al.Count; i++)
            {
                DataRow dr = dt.Rows.Add();

                DBLayer.ClientsAbonements.ClientsAbonements_WideDetails det = (DBLayer.ClientsAbonements.ClientsAbonements_WideDetails)al[i];

                dr["Id"] = det.Id;

                if (det.VisitsCount > 0)
                {
                    dr["StayCount"] = det.VisitsCount;
                }

                dr["Name"]       = det.Name;
                dr["DateStart"]  = det.DateStart;
                dr["DateFinish"] = det.DateFinish;

                dr["Coach"]    = det.CoachName;
                dr["Time"]     = det.Time;
                dr["Weekdays"] = det.Weekdays;
            }

            grAbonements.DataSource = dt;
            advBandedGridView2.BestFitColumns();
        }
        public static ArrayList GetList(int id)
        {
            string sql = "SELECT ca.[Id], ca.DateStart, ca.DateFinish, a.[Name], c.FIO, ca.ClientId, ca.AbonementId, co.Name AS CoachName, ca.CoachId, ca.Weekday, ca.Time ";

            sql += " FROM ClientsAbonements AS ca INNER JOIN Abonements AS a ON ca.[AbonementId] = a.[Id] ";
            sql += " LEFT JOIN Coaches AS co ON ca.CoachId = co.Id ";
            sql += " INNER JOIN Clients AS c ON c.[Id] = ca.ClientId WHERE ca.ClientId = " + id.ToString();

            DataTable dt = ZFort.DB.Execute.ExecuteString_DataTable(sql);

            ArrayList al = new ArrayList();

            foreach (DataRow dr in dt.Rows)
            {
                DBLayer.ClientsAbonements.ClientsAbonements_WideDetails det = new DBLayer.ClientsAbonements.ClientsAbonements_WideDetails();

                if (!dr.IsNull("Id"))
                {
                    det.Id = Convert.ToInt32(dr["Id"]);
                }

                det.Name = dr["Name"].ToString();

                det.FIO = dr["FIO"].ToString();

                if (!dr.IsNull("ClientId"))
                {
                    det.ClientId = Convert.ToInt32(dr["ClientId"]);
                }

                if (!dr.IsNull("AbonementId"))
                {
                    det.AbonementId = Convert.ToInt32(dr["AbonementId"]);
                }

                if (!dr.IsNull("DateStart"))
                {
                    det.DateStart = Convert.ToDateTime(dr["DateStart"]);
                }

                if (!dr.IsNull("DateFinish"))
                {
                    det.DateFinish = Convert.ToDateTime(dr["DateFinish"]);
                }

                det.CoachName = dr["CoachName"].ToString();

                if (!dr.IsNull("CoachId"))
                {
                    det.CoachId = Convert.ToInt32(dr["CoachId"]);
                }

                det.Weekdays = dr["Weekday"].ToString();

                det.Time = dr["Time"].ToString();

                al.Add(det);
            }

            return(al);
        }
Esempio n. 3
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (Validation())
            {
                try
                {
                    this.Details.BirthDate = new DateTime(Convert.ToInt32(tbYear.Text), cbMonth.SelectedIndex + 1, Convert.ToInt32(tbDay.Text));
                }
                catch
                {
                    this.Details.BirthDate = DateTime.Now;
                }

                try
                {
                    this.Details.DocumentId     = ((Lib.ServiceFunctions.ListItem)cbDocumentType.SelectedItem).ID;
                    this.Details.DocumentNumber = tbDocumentNumber.Text;
                }
                catch
                {
                    this.Details.DocumentId = 0;
                }

                this.Details.FIO = tbFIO.Text;

                if (this.Details.FIO == "")
                {
                    this.Details.FIO = "Разовый";
                }

                this.Details.Phone = tbPhone.Text;

                this.Details.RegisterDate = Convert.ToDateTime(tbRegisterDate.Text);


                this.Details.SourceId = ((Lib.ServiceFunctions.ListItem)cbSource.SelectedItem).ID;
                this.Details.TypeId   = ((Lib.ServiceFunctions.ListItem)cbClientType.SelectedItem).ID;

                this.Details.Sex = cbSex.SelectedIndex;

                if (this.Id == 0)
                {
                    this.Details.Barcode = Lib.ServiceFunctions.ScanPrefix() + tbCode.Text;

                    this.Id = DBLayer.Clients.Insert(this.Details);

                    try
                    {
                        for (int i = 0; i < Abonements.Count; i++)
                        {
                            DBLayer.ClientsAbonements.ClientsAbonements_WideDetails det = (DBLayer.ClientsAbonements.ClientsAbonements_WideDetails)Abonements[i];

                            DBLayer.ClientsAbonements.Details caDet = new FitnessProject.DBLayer.ClientsAbonements.Details();

                            DBLayer.Abonements.Details aDet = DBLayer.Abonements.GetDetails(det.AbonementId);

                            if (aDet.LessonsCount != 0)
                            {
                                caDet.VisitsCount = aDet.LessonsCount;
                            }

                            if (aDet.AdditionalVisits != 0)
                            {
                                caDet.AdditionalCount = aDet.AdditionalVisits;
                            }

                            caDet.AbonementId = det.AbonementId;
                            caDet.ClientId    = this.Id;


                            caDet.DateFinish = det.DateFinish;
                            caDet.DateStart  = det.DateStart;

                            caDet.CoachId  = det.CoachId;
                            caDet.Weekdays = det.Weekdays;
                            caDet.Time     = det.Time;

                            int caId = DBLayer.ClientsAbonements.Insert(caDet);

                            if (MessageBox.Show(this, "Провести платеж " + DBLayer.Abonements.GetDetails(caDet.AbonementId).Cost.ToString() + "?", Lib.StringConstants.ProjectName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                DBLayer.AbonementIncome.Details detAI = new FitnessProject.DBLayer.AbonementIncome.Details();

                                detAI.ClientAbonementId = caId;
                                detAI.AbonementId       = caDet.AbonementId;
                                detAI.ClientId          = caDet.ClientId;
                                detAI.Date   = DateTime.Now.Date;
                                detAI.Summ   = DBLayer.Abonements.GetDetails(caDet.AbonementId).Cost;
                                detAI.UserId = ((DBLayer.Users.Details)AppDomain.CurrentDomain.GetData("User")).Id;

                                DBLayer.AbonementIncome.Insert(detAI);
                            }
                        }

                        //MessageBox.Show(this.photo.Length.ToString());
                        try
                        {
                            if (this.photo.Length > 0)
                            {
                                DBLayer.Clients.UploadPhoto(this.photo, this.Id);
                            }
                        }
                        catch
                        {
                            DBLayer.Clients.RemovePhoto(this.Id);
                        }
                    }
                    catch { }

                    if (MessageBox.Show(this, "Провести клиента в зал?", Lib.StringConstants.ProjectName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        SimulateSelectClient();
                    }
                }
                else
                {
                    if (this.BarcodeChanged)
                    {
                        this.Details.Barcode = Lib.ServiceFunctions.ScanPrefix() + tbCode.Text;
                        this.BarcodeChanged  = false;
                    }
                    else
                    {
                        this.Details.Barcode = tbCode.Text;
                    }

                    DBLayer.Clients.Update(this.Details);

                    //MessageBox.Show(this.photo.Length.ToString());
                    try
                    {
                        if (this.photo.Length > 0)
                        {
                            DBLayer.Clients.UploadPhoto(this.photo, this.Id);
                        }
                        //else
                        //    DBLayer.Clients.RemovePhoto(this.Id);
                    }
                    catch
                    {
                        //DBLayer.Clients.RemovePhoto(this.Id);
                    }
                }

                this.Close();
            }
        }