private void bSave_Click(object sender, EventArgs e)
        {
            Customer           customer   = new Customer();
            CustomerRepository repository = new CustomerRepository();

            if (String.IsNullOrWhiteSpace(tName.Text) || String.IsNullOrWhiteSpace(tLastName.Text) || String.IsNullOrWhiteSpace(tPhoneNumber.Text))
            {
                MessageBox.Show("اطلاعات کامل وارد نشده است");
                return;
            }
            PersianDateFormatter pdf = new PersianDateFormatter();

            customer.CreatedDate = pdf.getDateInteger(DateTime.Now);
            customer.FirstName   = tName.Text;
            customer.LastName    = tLastName.Text;
            customer.PhoneNumber = tPhoneNumber.Text;
            if (rWoman.Checked)
            {
                customer.Gender = true;
            }
            else
            {
                customer.Gender = false;
            }

            if (!String.IsNullOrWhiteSpace(tDescription.Text))
            {
                customer.Description = tDescription.Text;
            }

            repository.addCustomer(customer);
            //MessageBox.Show("با موفقیت اضافه شد");
        }
Beispiel #2
0
 private void bSave_Click(object sender, EventArgs e)
 {
     if (isNewContract)
     {
         PersianDateFormatter pdf        = new PersianDateFormatter();
         ContractRepository   repository = new ContractRepository();
         Contract             contract   = new Contract();
         contract.ContractPayment       = Convert.ToInt32(tPayment.Text);
         contract.ContractStartDate     = pdf.convert(tStartDate.Text);
         contract.CustomerId            = this.customerId;
         contract.Description           = tDescription.Text;
         contract.IsAppointmentFinished = cIsFinished.Checked;
         if (cIsFinished.Checked)
         {
             contract.ContractEndDate = pdf.getDateInteger(DateTime.Now);
         }
         if (!String.IsNullOrWhiteSpace(tNextAppointmentDate.Text))
         {
             contract.NextAppointmentDate = pdf.convert(tNextAppointmentDate.Text);
         }
         if (!String.IsNullOrWhiteSpace(tNextAppointmentTime.Text))
         {
             TimeSpan ts = new TimeSpan(tNextAppointmentTime.Value.TimeOfDay.Hours, tNextAppointmentTime.Value.TimeOfDay.Minutes, 0);
             contract.NextAppointmentTime = ts;
         }
         contract.Payment = 0;
         repository.addContract(contract);
     }
     else
     {
         PersianDateFormatter pdf        = new PersianDateFormatter();
         ContractRepository   repository = new ContractRepository();
         Contract             contract   = repository.getContract(contractId);
         contract.Id                    = contractId;
         contract.CustomerId            = customerId;
         contract.ContractPayment       = Convert.ToInt32(tPayment.Text);
         contract.ContractStartDate     = pdf.convert(tStartDate.Text);
         contract.Description           = tDescription.Text;
         contract.IsAppointmentFinished = cIsFinished.Checked;
         if (cIsFinished.Checked)
         {
             contract.ContractEndDate = pdf.getDateInteger(DateTime.Now);
         }
         if (!String.IsNullOrWhiteSpace(tNextAppointmentDate.Text))
         {
             contract.NextAppointmentDate = pdf.convert(tNextAppointmentDate.Text);
         }
         if (!String.IsNullOrWhiteSpace(tNextAppointmentTime.Text))
         {
             TimeSpan ts = new TimeSpan(tNextAppointmentTime.Value.TimeOfDay.Hours, tNextAppointmentTime.Value.TimeOfDay.Minutes, 0);
             contract.NextAppointmentTime = ts;
         }
         repository.updateContract(contract);
     }
 }
        public object getCustomerJoinContract(DateTime date)
        {
            PersianDateFormatter pdf = new PersianDateFormatter();
            int dateinteger          = pdf.getDateInteger(date);
            var customerJoinContract = entities.Customers.Join(entities.Contracts, customer => customer.Id, contract => contract.CustomerId, (customer, contract)
                                                               => new
            {
                CustomerId  = customer.Id,
                FirstName   = customer.FirstName,
                LastName    = customer.LastName,
                PhoneNumber = customer.PhoneNumber,
                Time        = contract.NextAppointmentTime,
                Date        = contract.NextAppointmentDate
            }).Where(a => a.Date == dateinteger).OrderBy(b => b.Time);

            return(customerJoinContract.ToList());
        }
Beispiel #4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            PersianDateFormatter pdf        = new PersianDateFormatter();
            int             date            = pdf.convert(toolStripTextBox1.Text);
            OtherRepository otherRepository = new OtherRepository();

            radGridView1.DataSource = otherRepository.getCustomerJoinContract(date);


            /////////////////////////////////////////////////
            DefaultSettingsRepository dRepo    = new DefaultSettingsRepository();
            DefaultSetting            gsmPort  = dRepo.GetSetting("gsm_port");
            DefaultSetting            lastSend = dRepo.GetSetting("last_send");

            if (lastSend == null)
            {
                DefaultSetting ls = new DefaultSetting();
                ls.Value = "13000101";
                ls.Name  = "last_send";
                dRepo.AddSettings(ls);
            }
            else
            {
                int lastSendInt = Convert.ToInt32(lastSend.Value);
                int todayInt    = pdf.getDateInteger(DateTime.Now);
                int x           = 0;
                if (todayInt <= lastSendInt)
                {
                    return;
                }
            }



            if (gsmPort != null)
            {
                if (gsmPort.Value != "NULL")
                {
                    try
                    {
                        GsmCommMain comm = new GsmCommMain(gsmPort.Value, 9600, 150);
                        comm.Open();
                        byte dcs = (byte)DataCodingScheme.GeneralCoding.Alpha16Bit;

                        DefaultSetting sendTime    = dRepo.GetSetting("send_message_time");
                        DefaultSetting days        = dRepo.GetSetting("days_before_send");
                        DefaultSetting text        = dRepo.GetSetting("message_text");
                        int            daysInteger = Convert.ToInt32(days.Value);

                        TimeSpan ts      = TimeSpan.Parse(sendTime.Value);
                        TimeSpan nts     = DateTime.Now.TimeOfDay;
                        TimeSpan fivemin = TimeSpan.FromMinutes(5);

                        if (nts.CompareTo(ts) >= 0)
                        {
                            if (nts.Subtract(ts).CompareTo(fivemin) > 0)
                            {
                                return;
                            }
                        }
                        else
                        {
                            if (ts.Subtract(nts).CompareTo(fivemin) > 0)
                            {
                                return;
                            }
                        }

                        DateTime dt = DateTime.Now;
                        dt = dt.AddDays(daysInteger);
                        string dateString = pdf.getDateString(dt);

                        object customers = otherRepository.getCustomerJoinContract(dt);

                        IEnumerable <object> collection = (IEnumerable <object>)customers;
                        foreach (object item in collection)
                        {
                            var nameOfProperty = "PhoneNumber";
                            var propertyInfo   = item.GetType().GetProperty(nameOfProperty);
                            var phoneNumber    = propertyInfo.GetValue(item, null);


                            var nameOfProperty2 = "Time";
                            var propertyInfo2   = item.GetType().GetProperty(nameOfProperty2);
                            var time            = propertyInfo2.GetValue(item, null);

                            string timeString = time.ToString();
                            timeString = timeString.Remove(timeString.Length - 3);

                            string smsText = text.Value + Environment.NewLine + dateString + Environment.NewLine + timeString;

                            SmsSubmitPdu pdu = new SmsSubmitPdu(smsText, phoneNumber.ToString(), dcs);
                            comm.SendMessage(pdu);
                        }

                        DefaultSettingsRepository dRepo2 = new DefaultSettingsRepository();
                        DefaultSetting            lsls   = dRepo2.GetSetting("last_send");
                        lsls.Value = pdf.getDateInteger(DateTime.Now).ToString();
                        dRepo2.UpdateSetting(lsls);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
Beispiel #5
0
        private void radGridView1_RowFormatting(object sender, RowFormattingEventArgs e)
        {
            //TimeSpan eight = new TimeSpan(8,0,0);
            TimeSpan ten      = new TimeSpan(10, 0, 0);
            TimeSpan twelve   = new TimeSpan(12, 0, 0);
            TimeSpan fourteen = new TimeSpan(14, 0, 0);
            TimeSpan sixteen  = new TimeSpan(16, 0, 0);
            TimeSpan eighteen = new TimeSpan(18, 0, 0);
            TimeSpan twenty   = new TimeSpan(20, 0, 0);

            PersianDateFormatter pdf = new PersianDateFormatter();
            DateTime             dt  = DateTime.Now;
            TimeSpan             ts  = new TimeSpan(dt.TimeOfDay.Hours, dt.TimeOfDay.Minutes, 0);
            int      gridDate        = Convert.ToInt32(e.RowElement.RowInfo.Cells[5].Value.ToString());
            int      currentDate     = pdf.getDateInteger(dt);
            TimeSpan gridTimeSpan    = (TimeSpan)e.RowElement.RowInfo.Cells[4].Value;

            if (e.RowElement.RowInfo.Index > -1)
            {
                if (TimeSpan.Compare(gridTimeSpan, ts) < 0 && gridDate <= currentDate || gridDate < currentDate)
                {
                    e.RowElement.BackColor = Color.FromArgb(245, 245, 245);
                }
                else
                {
                    if (TimeSpan.Compare(gridTimeSpan, ten) < 0)
                    {
                        //8 10
                        e.RowElement.BackColor = Color.FromArgb(255, 252, 220);
                    }
                    else if (TimeSpan.Compare(gridTimeSpan, twelve) < 0)
                    {
                        //10 12
                        e.RowElement.BackColor = Color.FromArgb(255, 247, 179);
                    }
                    else if (TimeSpan.Compare(gridTimeSpan, fourteen) < 0)
                    {
                        //12 14
                        e.RowElement.BackColor = Color.FromArgb(255, 232, 138);
                    }
                    else if (TimeSpan.Compare(gridTimeSpan, sixteen) < 0)
                    {
                        //14 16
                        e.RowElement.BackColor = Color.FromArgb(255, 193, 74);
                    }
                    else if (TimeSpan.Compare(gridTimeSpan, eighteen) < 0)
                    {
                        //16 18
                        e.RowElement.BackColor = Color.FromArgb(255, 189, 234);
                    }
                    else if (TimeSpan.Compare(gridTimeSpan, twenty) < 0)
                    {
                        //18 20
                        e.RowElement.BackColor = Color.FromArgb(227, 166, 255);
                    }
                    else
                    {
                        e.RowElement.BackColor = Color.FromArgb(196, 180, 255);
                    }
                }
            }
        }