Пример #1
0
        public SMSNotification SMSNotification(string phone, string messages)
        {
            SMSNotification xs = null;

            if (client.BaseAddress == null)
            {
                GetBaseAddress();
            }
            client.Timeout.Add(new TimeSpan(0, 0, 5));
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ConfigurationManager.AppSettings["bearerToken"].ToString());
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            var jsonString  = "{\"msisdn\":\"" + phoneNumberFormat(phone) + "\",\"content\":\"" + messages + "\"}";
            var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");

            HttpResponseMessage response = client.PostAsync("smsnotification/1.0.0/messages", httpContent).Result;

            if (response.IsSuccessStatusCode)
            {
                //att = await response.Content.ReadAsAsync<AirportTransferTransaction>();
                string resultJSON = response.Content.ReadAsStringAsync().Result;
                xs = JsonConvert.DeserializeObject <SMSNotification>(resultJSON);
            }
            return(xs);
        }
        public void RelayMessage(double latitude, double longitude, string emailAddress)
        {
            User          TempUser       = db.Users.Where(x => x.Email == emailAddress).FirstOrDefault();
            var           TempAlert      = db.AlertTypes.Where(x => x.UserId == TempUser.Id).FirstOrDefault();
            GeoCoordinate PersonLocation = new GeoCoordinate(latitude, longitude);
            var           locations      = db.NoGoZones.Where(x => x.User.Id == TempUser.Id);

            if (CompareLocations.CompareLocations.Compare(PersonLocation, locations.AsEnumerable()))
            {
                var msgData = new MessageData
                {
                    EMail     = TempUser.Email,
                    TelNr     = TempUser.TelNr,
                    MsgBody   = "You got too close to a no go zone!",
                    MsgHeader = "Alert"
                };

                if (!string.IsNullOrEmpty(TempUser.TelNr) && TempAlert.Text)
                {
                    INotifications notification = new SMSNotification();
                    notification.Send(msgData);
                }

                if (!string.IsNullOrEmpty(TempUser.Email) && TempAlert.EMail)
                {
                    INotifications notification = new EMailNotification();
                    notification.Send(msgData);
                }
                if (!string.IsNullOrEmpty(TempUser.Push) && TempAlert.Push)
                {
                    INotifications notification = new PushFirebase();
                    notification.Send(msgData);
                }
            }
        }
Пример #3
0
        public IActionResult SMS([FromBody] Assignment model)
        {
            if (!User.HasClaim(x => x.Type == ClaimTypes.Role && (x.Value == "客服主管" || x.Value == "客服部" || x.Value == "经理办")))
            {
                return(BadRequest("你没有权限执行该操作!"));
            }

            if (model == null)
            {
                return(BadRequest());
            }

            using (var session = _documentStore.LightweightSession())
            {
                DateTime dueTime = (DateTime)model.finishDue;
                TimeSpan ts      = dueTime - DateTime.Now;
                string   remainTime;
                if (ts.TotalHours >= 1)
                {
                    remainTime = ts.Days + "天," + ts.Hours + "小时," + ts.Minutes + "分钟";
                }
                else
                {
                    remainTime = "不足一小时";
                }

                FanyiNetwork.Models.User editor = session.Query <User>().FirstOrDefault(x => x.id == model.editor);
                if (editor != null)
                {
                    SMSNotification.SendChangeOrderSMS(model.no, remainTime, editor.mobile);
                }

                return(Ok());
            }
        }
Пример #4
0
        static void Main(string[] args)
        {
            /*
             * var reader = new RobotChannelReader("http://bots.myrobots.com/channels/{0}/feed.xml?key={1}", "67", "B94DD85F4ED8430B");
             * var channel = reader.ReadChannel();
             * Console.WriteLine("Name: {0}", channel.Name);
             * Console.WriteLine("Created: {0}", channel.Description);
             * Console.WriteLine("Feeds:");
             *
             * foreach (var feed in channel.Feeds)
             * {
             *  Console.WriteLine("Created: {0}", feed.Created);
             *  Console.WriteLine("Entry ID: {0}", feed.EntryId);
             *  Console.WriteLine();
             *  Console.WriteLine("Values:");
             *  foreach (var field in feed.Values)
             *  {
             *      Console.WriteLine("{0} = {1}", field.Key, field.Value);
             *  }
             *  Console.WriteLine();
             * }*/
            var notification = new SMSNotification();

            notification.PhoneNumber  = Properties.Settings.Default.PhoneNumber;
            notification.GatewayEmail = Properties.Settings.Default.GatewayEmail;
            notification.Content      = "Test";
            notification.Send();
        }
Пример #5
0
        static void Main(string[] args)
        {
            /*
            var reader = new RobotChannelReader("http://bots.myrobots.com/channels/{0}/feed.xml?key={1}", "67", "B94DD85F4ED8430B");
            var channel = reader.ReadChannel();
            Console.WriteLine("Name: {0}", channel.Name);
            Console.WriteLine("Created: {0}", channel.Description);
            Console.WriteLine("Feeds:");

            foreach (var feed in channel.Feeds)
            {
                Console.WriteLine("Created: {0}", feed.Created);
                Console.WriteLine("Entry ID: {0}", feed.EntryId);
                Console.WriteLine();
                Console.WriteLine("Values:");
                foreach (var field in feed.Values)
                {
                    Console.WriteLine("{0} = {1}", field.Key, field.Value);
                }
                Console.WriteLine();
            }*/
            var notification = new SMSNotification();
            notification.PhoneNumber = Properties.Settings.Default.PhoneNumber;
            notification.GatewayEmail = Properties.Settings.Default.GatewayEmail;
            notification.Content = "Test";
            notification.Send();
        }
Пример #6
0
        public IActionResult Assign([FromBody] Assignment model)
        {
            if (!User.HasClaim(x => x.Type == ClaimTypes.Role && (x.Value == "主编" || x.Value == "客服主管" || x.Value == "经理办")))
            {
                return(BadRequest("你没有权限执行该操作!"));
            }

            if (model == null)
            {
                return(BadRequest());
            }

            using (var session = _documentStore.LightweightSession())
            {
                model.status            = "待交稿";
                model.chiefeditor       = int.Parse(User.FindFirst(ClaimTypes.Sid).Value);
                model.assignTime        = DateTime.Now;
                model.isParttimeConfirm = false;

                session.Store <Assignment>(model);

                Notification notification = new Notification();
                notification.userid       = model.editor;
                notification.assignmentid = model.id;
                notification.message      = "单号已分配至你,请按时提交稿件!";
                notification.time         = DateTime.Now;
                session.Store <Notification>(notification);

                Flow flow = new Flow();
                flow.AssignmentID = model.id;
                flow.Operator     = User.Identity.Name;
                flow.Operation    = "成功分配,标记单号为待交稿.";
                flow.Time         = DateTime.Now;
                session.Store <Flow>(flow);

                session.SaveChanges();

                DateTime dueTime = (DateTime)model.finishDue;
                TimeSpan ts      = dueTime - DateTime.Now;
                string   remainTime;
                if (ts.TotalHours >= 1)
                {
                    remainTime = ts.Days + "天," + ts.Hours + "小时," + ts.Minutes + "分钟";
                }
                else
                {
                    remainTime = "不足一小时";
                }

                FanyiNetwork.Models.User editor = session.Query <User>().FirstOrDefault(x => x.id == model.editor);
                if (editor != null)
                {
                    SMSNotification.SendAssignOrderSMS(model.no, remainTime, editor.mobile);
                }

                return(Ok());
            }
        }
 private bool CheckCapacity(T_RegisteredStudentSemester value)
 {
     using (SMSNotification nofity = new SMSNotification())
     {
         var cap = nofity.GetRegisterStudent().Where(x => x.Day == value.Day && x.TImeEnd.ToShortTimeString() == value.TImeEnd.ToShortTimeString() && x.TimeStart.ToShortTimeString() == value.TimeStart.ToShortTimeString() && x.Semester == value.Semester && x.SemEndDate.ToShortDateString() == value.SemEndDate.ToShortDateString() && x.SemStartDate.ToShortDateString() == value.SemStartDate.ToShortDateString() && x.YearClass == value.YearClass && x.Active == true).ToList().Count;
         //lblSelected.Text = string.Format("Selected",cap);
         return(cap <= GetCapacity(value.RoomCode)?true:false);
     }
 }
 void Delete(long ID)
 {
     if (SystemProperties.ShowMessage.MessageQuestion(SystemProperties.MessageNotification.YouWantToDelete, "Room record") == DialogResult.Yes)
     {
         using (SMSNotification notify = new SMSNotification())
         {
             notify.Delete(ID, ref MsgReturned);
             SystemProperties.ShowMessage.MessageInformation(MsgReturned, "Room record");
             LoadRoomRecord();
         }
     }
 }
Пример #9
0
        public void Setup()
        {
            _address         = new IpsAddress();
            _address.Address = new List <string> {
                "+987654321"
            };
            _address.From = "+123456789031";

            _message         = new IpsMessage();
            _message.Message = "testMessage";

            _sender = new SMSNotification();
        }
Пример #10
0
        public async Task<string> CreateNotification(SMSNotification message)
        {

            string enableSMSGateway = ConfigurationManager.AppSettings["enableSMSGateway"];
            if (enableSMSGateway == null)
                throw new ApplicationException("Unable to find SMS Gateway switch");
            else if (!bool.Parse(enableSMSGateway))
                throw new ApplicationException("SMS Gateway disabled");

            string json = JsonUtil<SMSNotification>.ToJson(message);
            string result = await ClickatellAPIPost(json);

            return result;
        }
Пример #11
0
        void LoadSMS()
        {
            int i = 1;

            dgSMS.Rows.Clear();
            using (SMSNotification notify = new SMSNotification())
            {
                notify.GetSMS().ForEach(x =>
                {
                    dgSMS.Rows.Add(x.ID, i, x.Code, x.MessageAlert, x.Active);
                    i++;
                });
                ObjEnable(false);
            }
        }
Пример #12
0
 void Delete()
 {
     if (SystemProperties.ShowMessage.MessageQuestion(SystemProperties.MessageNotification.YouWantToDelete, "Message notification") == DialogResult.Yes && dgSMS.Rows.Count > 0)
     {
         using (SMSNotification notify = new SMSNotification())
         {
             var value = SetRoomType();
             value.ID = Convert.ToInt64(dgSMS.SelectedRows[0].Cells[0].Value);
             if (value != null)
             {
                 notify.Delete(value, ref MsgReturned);
                 SystemProperties.ShowMessage.MessageInformation(MsgReturned, "Message notification");
                 LoadSMS();
             }
         }
     }
 }
Пример #13
0
 void dgSMS_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgSMS.Rows.Count > 0)
     {
         using (SMSNotification notify = new SMSNotification())
         {
             var value = notify.GetSMS().Where(x => x.ID == Convert.ToInt64(dgSMS.SelectedRows[0].Cells[0].Value)).FirstOrDefault();
             if (value != null)
             {
                 txtCode.Text     = value.Code;
                 txtMessage.Text  = value.MessageAlert;
                 cbActive.Checked = value.Active.Value;
                 btnDelete        = SystemProperties.BtnProperties(btnDelete, true, Imagename.Delete.ToString(), Imagename._delete.ToString());
                 btnEdit          = SystemProperties.BtnProperties(btnEdit, true, Imagename.Edit.ToString(), Imagename._edit.ToString());
             }
         }
     }
 }
Пример #14
0
        public override void SetContext(StepEditContext context, SMSNotification notification)
        {
            base.SetContext(context, notification);

            cbTextbeltPresets.DataSource = Enum.GetValues(typeof(TextbeltPresets));

            if (notification.TextbeltAPIURL != null && notification.TextbeltAPIURL.ToLower() == "http://textbelt.com/text")
            {
                cbTextbeltPresets.SelectedItem = TextbeltPresets.Paid;
            }
            else
            {
                cbTextbeltPresets.SelectedItem = TextbeltPresets.Custom;
            }

            txtTextbeltAPIURL.Text = notification.TextbeltAPIURL;
            txtTextbeltAPIKey.Text = notification.TextbeltAPIKey;

            txtNumbers.Text = String.Join("; ", notification.Numbers);
        }
Пример #15
0
        void Save()
        {
            if (SystemProperties.ShowMessage.MessageQuestion(SystemProperties.MessageNotification.YouWantToSave, "Message notification") == DialogResult.Yes)
            {
                if (CheckEmptyField())
                {
                    using (SMSNotification notify = new SMSNotification())
                    {
                        notify.Save(SetRoomType(), ref MsgReturned);

                        SystemProperties.ShowMessage.MessageInformation(MsgReturned, "Message notification");
                        SystemProperties.Cleared(this, false, true, true);
                        LoadSMS();
                    }
                }
                else
                {
                    SystemProperties.ShowMessage.MessageError(SystemProperties.MessageNotification.CheckInput + Environment.NewLine + Environment.NewLine + "Code" + Environment.NewLine + "Message", "Message notification");
                }
            }
        }
        void LoadRoomRecord()
        {
            int i = 1;

            dgRoomRecord.Rows.Clear();
            using (SMSNotification notify = new SMSNotification())
            {
                notify.GetRegisterStudent().OrderBy(o => o.TimeStart).ToList().ForEach(x =>
                {
                    using (Maintenance maintain = new Maintenance())
                    {
                        using (Students stud = new Students())
                        {
                            var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                            var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                            dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                            i++;
                        }
                    }
                });
            }
        }
        void GetAttendanceLogs()
        {
            dgAttendanceLogs.Rows.Clear();
            int i = 1;

            using (SMSNotification notify = new SMSNotification())
            {
                var value = notify.GetUserTime();
                if (value.Count > 0)
                {
                    value.ForEach(x =>
                    {
                        using (Students stud = new Students())
                        {
                            var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                            dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null?valueStud.LastName + ", " + valueStud.FirstName:"Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                            i++;
                        }
                    });
                }
            }
        }
 void GetRoomSubjectMessage()
 {
     cmbMessage.Items.Clear();
     cmbRoomCode.Items.Clear();
     cmbSubjectCode.Items.Clear();
     using (Maintenance maintain = new Maintenance())
     {
         maintain.GetRoom().Where(x => x.Active == true).OrderBy(o => o.RoomCode).ToList().ForEach(y =>
         {
             cmbRoomCode.Items.Add(y.RoomCode);
         });
         maintain.GetSubject().Where(x => x.Active == true).OrderBy(o => o.Code).ToList().ForEach(y =>
         {
             cmbSubjectCode.Items.Add(y.Code);
         });
     }
     using (SMSNotification smsNotify = new SMSNotification())
     {
         smsNotify.GetSMS().Where(x => x.Active == true).ToList().ForEach(s =>
         {
             cmbMessage.Items.Add(s.Code);
         });
     }
 }
        void LoadSelected(bool Date, bool Time, bool Day, bool SubCode, bool RoomCode)
        {
            int i = 1;

            dgAttendanceLogs.Rows.Clear();
            using (SMSNotification notify = new SMSNotification())
            {
                #region 1
                //Start 1
                if (Date && Time && Day && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 2
                //Start 1
                if (Time && Day && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 3
                //Start 1
                if (Date && Day && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 4
                //Start 1
                if (Date && Time && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 5
                //Start 1
                if (Date && Time && Day && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 6
                //Start 1
                if (Date && Time && Day)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value))).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 7
                //Start 1
                if (Time && Day && SubCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 8
                //Start 1
                if (Day && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => x.Day == cmbDays.Text && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 9
                //Start 1
                if (Date && SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 10
                //Start 1
                if (Date && Time && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 11
                //Start 1
                if (Date && Time)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value))).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 12
                //Start 1
                if (Time && Day)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value)) && x.Day == cmbDays.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 13
                //Start 1
                if (SubCode && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => x.SubjectCode == cmbSubCode.Text && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 14
                //Start 1
                if (Date && RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value)) && x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion


                #region 15
                //Start 1
                if (Date)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertDates(x.TimeIN.Value) >= ConvertDates(dtDateStart.Value) && (ConvertDates(x.TimeIN.Value)) <= ConvertDates(dtDateEnd.Value))).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 16
                //Start 1
                if (Time)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => (ConvertTimes(x.TimeIN.Value) >= ConvertTimes(dtTimeIN.Value) && ConvertTimes(x.TimeIN.Value) <= ConvertTimes(dtTimeOUT.Value))).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 17
                //Start 1
                if (Day)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => x.Day == cmbDays.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 18
                //Start 1
                if (SubCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => x.SubjectCode == cmbSubCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion

                #region 19
                //Start 1
                if (RoomCode)
                {
                    dgAttendanceLogs.Rows.Clear();
                    var value = notify.GetUserTime().Where(x => x.RoomCode == cmbRoomCode.Text).ToList();
                    if (value.Count > 0)
                    {
                        value.ForEach(x =>
                        {
                            using (Students stud = new Students())
                            {
                                var valueStud = stud.GetStudentInfo().Where(xx => xx.StudentID == x.StudentID).FirstOrDefault();

                                dgAttendanceLogs.Rows.Add(x.ID, i, x.StudentID, valueStud != null ? valueStud.LastName + ", " + valueStud.FirstName : "Student name are not found", x.SubjectCode, x.RoomCode, x.Day, x.TimeIN, x.TimeOUT);
                                i++;
                            }
                        });
                    }
                }
                //End
                #endregion
            }
        }
        void Save()
        {
            T_RegisteredStudentSemester ret = new T_RegisteredStudentSemester();
            var StudentSelected             = dgStudentList.Rows.Cast <DataGridViewRow>().Where(x => Convert.ToBoolean(x.Cells[6].Value)).ToList();
            var DaySelected  = dgDay.Rows.Cast <DataGridViewRow>().Where(d => Convert.ToBoolean(d.Cells[1].Value)).ToList();
            var TimeSelected = dgTime.Rows.Cast <DataGridViewRow>().Where(t => Convert.ToBoolean(t.Cells[2].Value)).ToList();

            if (StudentSelected.Count > 0)
            {
                StudentSelected.ForEach(s =>
                {
                    ret.StudentID = s.Cells[2].Value.ToString();

                    using (Students std = new Students())
                    {
                        var stud               = std.GetStudentInfo().Where(x => x.StudentID == s.Cells[2].Value.ToString()).FirstOrDefault();
                        ret.Active             = true;
                        ret.RFID               = stud.RFIDNo;
                        ret.RoomCode           = cmbRoomCode.Text;
                        ret.MessageID          = cmbMessage.Text;
                        ret.SubjectCode        = cmbSubjectCode.Text;
                        ret.SubjectDescription = txtSubjectDesc.Text;
                        ret.Semester           = SystemProperties.SemesterActive.Semester;
                        ret.SemStartDate       = SystemProperties.SemesterActive.Start;
                        ret.SemEndDate         = SystemProperties.SemesterActive.End;
                        ret.YearClass          = SystemProperties.SemesterActive.YearSemester;
                        using (Parents parent = new Parents())
                        {
                            var part      = parent.GetParentsInfo().Where(pp => pp.StudentID == stud.StudentID).FirstOrDefault();
                            ret.ParentsNo = !string.IsNullOrWhiteSpace(part.MomContactNo)?part.MomContactNo:part.DadContactNo;
                        }
                        if (DaySelected.Count > 0)
                        {
                            DaySelected.ForEach(dd =>
                            {
                                ret.Day = dd.Cells[0].Value.ToString();
                                if (TimeSelected.Count > 0)
                                {
                                    TimeSelected.ForEach(tt =>
                                    {
                                        var _tt = tt.Cells[3].Value.ToString();
                                        using (Maintenance maintain = new Maintenance())
                                        {
                                            var TimeStartEnd = maintain.GetTime().Where(ttt => ttt.TimeCode == _tt).FirstOrDefault();
                                            ret.TimeStart    = TimeStartEnd.TimeStart.Value;
                                            ret.TImeEnd      = TimeStartEnd.TimeEnd.Value;
                                            using (SMSNotification notify = new SMSNotification())
                                            {
                                                string msgRet = "";
                                                notify.Save(ret, ref msgRet);
                                                lblMessage.Text = msgRet;
                                            }
                                        }
                                    });
                                }
                                else
                                {
                                    SystemProperties.ShowMessage.MessageError("Select time first", "Time Error");
                                }
                            });
                        }
                        else
                        {
                            SystemProperties.ShowMessage.MessageError("Select day first", "Day Error");
                        }
                    }
                });
            }
            GetDayAndTime();
            GetRoomSubjectMessage();
            LoadStudent();
            ObjEnable(false);
            SystemProperties.Cleared(this, false, true, true);
            dgDay.Enabled = dgTime.Enabled = dgStudentList.Enabled = false;

            txtRoomDesc.ReadOnly    = true;
            txtSubjectDesc.ReadOnly = true;
        }
Пример #21
0
        public Response<ProviderModel> ApproveRetailer(ProviderModel model)
        {
            string ReturnLink = string.Empty;
            var phone = string.Empty;
            Response<ProviderModel> returnModel = new Response<ProviderModel>();
            try
            {
                    
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    DB.ExecuteSql(@"update provider set admin_approve = @admin_approve where id = @id ", new
                    {
                        id = model.id,
                        admin_approve = model.admin_approve,
                    });

                    phone =  DB.QuerySql<string>(@"Select country_code + contact_no as phone, admin_approve from provider where id= @id", new
                    {
                        id = model.id

                    }).FirstOrDefault();
                }
                returnModel.status = (int)EnumClass.ResponseState.Success;
                returnModel.msg = Resource_Kharban.UpdateSuccessfully;
                returnModel.success = true;

                if(!string.IsNullOrEmpty(phone))
                {

                    if (model.admin_approve == 1)
                    {
                        sendSMS("Kharban", $"{model.country_code}{model.contact_no}", "Your account is approved, You can login now");
                    }
                    else
                    {
                        sendSMS("Kharban", $"{model.country_code}{model.contact_no}", "Your account is rejected.");
                    }
                }
                string DeviceId = string.Empty;
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    DeviceId = DB.QuerySql<string>("select device_id from device_data where user_id = @UserId and user_active = 1", new { UserId = model.id }).FirstOrDefault();
                    if (model.admin_approve == 1)
                    {
                        var notification = "Congratulations! Your account has been approved by the admin, you can now access the complete features of Kharban.";
                        SMSNotification.PushNotificationAsync(DeviceId, "Kharban", notification, "Home", 1);
                    }
                    else
                    {
                        var notification = "We are sorry, we can not approve your account at the moment, for any query please contact the admin.";
                        SMSNotification.PushNotificationAsync(DeviceId, "Kharban", notification, "Home", 1);
                    }
                }

            }
            catch (Exception ex)
            {
                returnModel.msg = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                LoggingRepository.SaveException(ex);
            }
            return returnModel;
        }
Пример #22
0
 /// <summary>
 /// Send SMS Message
 /// </summary>
 /// <param name="message"></param>
 private void SendSMS(IPDMessage message)
 {
     SMSNotification.Notify(message.Sender, message.ReceiverUri, message.Subject, commParams.SMSUserName, commParams.SMSPasword, commParams.SMSKey);
 }
Пример #23
0
        public HttpResponseMessage ResendOTPNumber(int nApplicationID, string sPhoneNumber, int nLanguageID)
        {
            ApiResponse oApiResponse   = new ApiResponse();
            string      sResultMessage = string.Empty;

            try
            {
                int nOTPNumber = CommonHelper.nGenerateRandomInteger(1000, 9999);

                Response oResponse = this.oIAuthenticationService.oResendOTPNumber(nApplicationID, sPhoneNumber, nOTPNumber);

                if (oResponse.OperationResult == enumOperationResult.Success)
                {
                    oApiResponse.OperationResult = 1;
                    sResultMessage = nLanguageID == 2 ? "OTP has been successfully sent." : "تم إرسال رمز التفعيل بنجاح .";
                    oApiResponse.OperationResultMessage = sResultMessage;

                    //TODO::integrate with sms service and update status to database
                    oApiResponse.ResponseCode = nOTPNumber.ToString();

                    Languages enmUserLanuage = (Languages)Enum.Parse(typeof(Languages), nLanguageID.ToString());

                    //Send OTP via SMS and update in DB
                    SMSNotification oSMSNotification = new SMSNotification();
                    SMSViewModel    oSMSViewModel    = new SMSViewModel();
                    //oSMSViewModel.Language = enmUserLanuage == Languages.English ? 0 : 64;
                    oSMSViewModel.Language = 64;
                    string sMessage = string.Empty;
                    if (enmUserLanuage == Languages.English)
                    {
                        sMessage = string.Format("Thank you for registering with {0}, Your activation code is : {1}.", oResponse.ResponseCode, nOTPNumber);
                    }
                    else
                    {
                        string sMessagePart1 = "نشكرك على تسجيلك في تطبيق ";
                        sMessagePart1 = sMessagePart1 + oResponse.ResponseCode + ", ";

                        string sMessagePart2 = "رمز التفعيل الخاص بك هو : ";
                        sMessagePart2 = sMessagePart2 + nOTPNumber;

                        sMessage = sMessagePart1 + sMessagePart2;
                    }
                    oSMSViewModel.Message       = sMessage;
                    oSMSViewModel.Recipient     = sPhoneNumber;
                    oSMSViewModel.RecipientType = 1;

                    bool     bSentSMS           = oSMSNotification.bSendOTPSMS(oSMSViewModel);
                    Response oResponseOTPStatus = this.oIAuthenticationService.oUpdateOTPStatus(oApiResponse.ResponseID, bSentSMS);
                }
                else if (oResponse.OperationResult == enumOperationResult.RelatedRecordFaild)
                {
                    oApiResponse.OperationResult = -2;
                    sResultMessage = nLanguageID == 2 ? "You have exceeded the maximum number of attempt.Please contact app administrator." : "لقد تجاوزت الحد الأقصى لعدد المحاولات. يرجى الاتصال بمشرف التطبيق .";
                    oApiResponse.OperationResultMessage = sResultMessage;
                }
                else if (oResponse.OperationResult == enumOperationResult.AlreadyExistRecordFaild)
                {
                    oApiResponse.OperationResult = -3;
                    sResultMessage = nLanguageID == 2 ? "The user does not exist.Please contact app administrator" : "المستخدم غير مسجل . يرجى الاتصال بمشرف التطبيق";
                    oApiResponse.OperationResultMessage = sResultMessage;
                }
                else
                {
                    oApiResponse.OperationResult = 0;
                    sResultMessage = nLanguageID == 2 ? "An error Occured.Please contact app administrator." : "حدث خطأ الرجاء الاتصال بمشرف التطبيق.";
                    oApiResponse.OperationResultMessage = sResultMessage;
                }
                return(Request.CreateResponse(HttpStatusCode.OK, oApiResponse));
            }
            catch (Exception ex)
            {
                oApiResponse.OperationResult = 0;
                sResultMessage = nLanguageID == 2 ? "An error occurred during the operation. Please try again later." : "حدث خطأ  يرجى المحاولة لاحقا مرة أخرى";
                oApiResponse.OperationResultMessage = sResultMessage;
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, oApiResponse));

                Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
            }
        }
Пример #24
0
        public HttpResponseMessage RegisterUser(TakamulUser oTakamulUser, int nLanguageID)
        {
            ApiResponse oApiResponse   = new ApiResponse();
            string      sResultMessage = string.Empty;

            if (ModelState.IsValid)
            {
                try
                {
                    int nOTPNumber = CommonHelper.nGenerateRandomInteger(1000, 9999);

                    UserInfoViewModel oUserInfoViewModel = new UserInfoViewModel()
                    {
                        APPLICATION_ID       = oTakamulUser.ApplicationID,
                        USER_TYPE_ID         = 4, //Mobile user type
                        FULL_NAME            = oTakamulUser.FullName,
                        PHONE_NUMBER         = oTakamulUser.PhoneNumber,
                        EMAIL                = oTakamulUser.Email,
                        ADDRESS              = oTakamulUser.Addresss,
                        AREA_ID              = oTakamulUser.AreaID,
                        WILAYAT_ID           = oTakamulUser.WilayatID,
                        VILLAGE_ID           = oTakamulUser.VillageID,
                        OTP_NUMBER           = nOTPNumber,
                        DEVICE_ID            = oTakamulUser.DeviceID,
                        PREFERED_LANGUAGE_ID = nLanguageID
                    };

                    Response oResponse = this.oIAuthenticationService.oInsertMobileUser(oUserInfoViewModel);
                    if (oResponse.OperationResult == enumOperationResult.Success)
                    {
                        oApiResponse.OperationResult = 1;
                        sResultMessage = nLanguageID == 2 ? "User registered successfully." : "تم تسجيل المستخدم بنجاح.";
                        oApiResponse.OperationResultMessage = sResultMessage;

                        oApiResponse.ResponseID   = Convert.ToInt32(oResponse.ResponseID);
                        oApiResponse.ResponseCode = nOTPNumber.ToString();

                        Languages enmUserLanuage = (Languages)Enum.Parse(typeof(Languages), nLanguageID.ToString());

                        //Send OTP via SMS and update in DB
                        SMSNotification oSMSNotification = new SMSNotification();
                        SMSViewModel    oSMSViewModel    = new SMSViewModel();
                        //oSMSViewModel.Language = enmUserLanuage == Languages.English ? 0 : 64;
                        oSMSViewModel.Language = 64;
                        string sMessage = string.Empty;
                        if (enmUserLanuage == Languages.English)
                        {
                            sMessage = string.Format("Thank you for registering with {0}, Your activation code is : {1}.", oResponse.ResponseCode, oUserInfoViewModel.OTP_NUMBER);
                        }
                        else
                        {
                            string sMessagePart1 = "نشكرك على تسجيلك في تطبيق ";
                            sMessagePart1 = sMessagePart1 + oResponse.ResponseCode + ", ";

                            string sMessagePart2 = "رمز التفعيل الخاص بك هو : ";
                            sMessagePart2 = sMessagePart2 + oUserInfoViewModel.OTP_NUMBER;

                            sMessage = sMessagePart1 + sMessagePart2;
                        }
                        oSMSViewModel.Message       = sMessage;
                        oSMSViewModel.Recipient     = oUserInfoViewModel.PHONE_NUMBER;
                        oSMSViewModel.RecipientType = 1;

                        bool     bSentSMS           = oSMSNotification.bSendOTPSMS(oSMSViewModel);
                        Response oResponseOTPStatus = this.oIAuthenticationService.oUpdateOTPStatus(oApiResponse.ResponseID, bSentSMS);
                    }
                    else if (oResponse.OperationResult == enumOperationResult.AlreadyExistRecordFaild)
                    {
                        oApiResponse.OperationResult = -3;
                        sResultMessage = nLanguageID == 2 ? "The user already exists.Please contact app administrator." : "المستخدم مسجل من قبل. الرجاء الاتصال بمشرف التطبيق.";
                        oApiResponse.OperationResultMessage = sResultMessage;
                    }
                    else
                    {
                        oApiResponse.OperationResult = 0;
                        sResultMessage = nLanguageID == 2 ? "Error Occured.Please contact app administrator." : "حدث خطأ الرجاء الاتصال بمشرف التطبيق.";
                        oApiResponse.OperationResultMessage = sResultMessage;
                    }
                    return(Request.CreateResponse(HttpStatusCode.OK, oApiResponse));
                }
                catch (Exception ex)
                {
                    oApiResponse.OperationResult = 0;
                    sResultMessage = nLanguageID == 2 ? "An error occurred during the operation. Please try again later." : "حدث خطأ  يرجى المحاولة لاحقا مرة أخرى";
                    oApiResponse.OperationResultMessage = sResultMessage;
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, oApiResponse));

                    Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
                }
            }
            oApiResponse.OperationResult = 0;
            sResultMessage = nLanguageID == 2 ? "Validation failed." : "خطاء في التحقق.";
            oApiResponse.OperationResultMessage = sResultMessage;
            return(Request.CreateResponse(HttpStatusCode.BadRequest, oApiResponse));
        }
Пример #25
0
 public SMSNotificationEditor(StepEditContext context, SMSNotification notification)
     : this()
 {
     this.SetContext(context, notification);
 }
Пример #26
0
 public SMSNotification GetSMSNotification(UserProfile user)
 {
     SMSNotification sms = new SMSNotification();
     sms.Recipients = new List<string>();
     sms.Recipients.Add(user.NotificationCellPhone);
     sms.Text = GetShortNotificationBody();
     return sms;
 }
Пример #27
0
        public async System.Threading.Tasks.Task <Response <PushNotificationModel> > SendPushNotifications(PushNotificationModel model)
        {
            int TotalRecords = 0;
            Response <PushNotificationModel> returnModel = new Response <PushNotificationModel>();

            if (string.IsNullOrEmpty(model.customer_id) && string.IsNullOrEmpty(model.provider_id) && !model.receiver_all)
            {
                returnModel.msg     = "Please select the receiver";
                returnModel.status  = (int)EnumClass.ResponseState.ResposityError;
                returnModel.success = false;
                return(returnModel);
            }

            if (string.IsNullOrEmpty(model.text))
            {
                returnModel.msg     = "Please enter the message";
                returnModel.status  = (int)EnumClass.ResponseState.ResposityError;
                returnModel.success = false;
                return(returnModel);
            }

            using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
            {
                List <string> Receivers  = new List <string>();
                List <string> Receivers1 = new List <string>();
                string        DeviceId   = string.Empty;



                if (model.receiver_all)
                {
                    //send notification to customer
                    Receivers = DB.QuerySql <string>(@"SELECT id FROM customer where is_deleted = 0 ").ToList();

                    if (Receivers != null)
                    {
                        foreach (var item in Receivers)
                        {
                            DeviceId = DB.QuerySql <string>("select device_id from device_data where user_id = @UserId and user_active = 1", new { UserId = item }).FirstOrDefault();
                            if (DeviceId != null)
                            {
                                await SMSNotification.PushNotificationAsync(DeviceId, "Kharban", model.subject + Environment.NewLine + model.text, "Home", 1);
                            }
                        }
                    }


                    //send notification to provider
                    Receivers1 = DB.QuerySql <string>(@"SELECT id FROM provider where is_deleted = 0 and is_online = 1 ").ToList();

                    if (Receivers1 != null)
                    {
                        foreach (var item in Receivers1)
                        {
                            DeviceId = DB.QuerySql <string>("select device_id from device_data where user_id = @UserId and user_active = 1", new { UserId = item }).FirstOrDefault();
                            if (DeviceId != null)
                            {
                                await SMSNotification.PushNotificationAsync(DeviceId, "Kharban", model.subject + Environment.NewLine + model.text, "Home", 1);
                            }
                        }
                    }
                }
                if (model.customer_id != string.Empty)
                {
                    DeviceId = DB.QuerySql <string>("select device_id from device_data where user_id = @UserId and user_active = 1", new { UserId = model.customer_id }).FirstOrDefault();
                    if (DeviceId != null)
                    {
                        await SMSNotification.PushNotificationAsync(DeviceId, "Kharban", model.subject + Environment.NewLine + model.text, "Home", 1);
                    }
                }

                if (model.provider_id != string.Empty)
                {
                    DeviceId = DB.QuerySql <string>("select device_id from device_data where user_id = @UserId and user_active = 1", new { UserId = model.provider_id }).FirstOrDefault();
                    if (DeviceId != null)
                    {
                        await SMSNotification.PushNotificationAsync(DeviceId, "Kharban", model.subject + Environment.NewLine + model.text, "Home", 1);
                    }
                }
            }


            returnModel.status  = (int)EnumClass.ResponseState.Success;
            returnModel.success = true;

            return(returnModel);
        }
        void LoadSearch(bool Year, bool Semester, bool Room, bool Subject)
        {
            dgRoomRecord.Rows.Clear();
            int i = 1;

            using (SMSNotification notify = new SMSNotification())
            {
                using (Maintenance maintain = new Maintenance())
                {
                    using (Students stud = new Students())
                    {
                        if (!Year && !Semester && !Room && !Subject)
                        {
                            LoadRoomRecord();
                        }
                        if (Year && Semester && Room && Subject)//four
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.Semester == cmbSemester.Text && x.RoomCode == cmbRoomCode.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year) //four
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Semester) //four
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.Semester == cmbSemester.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Room) //four
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.RoomCode == cmbRoomCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Subject)//four
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year && Semester && Room)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.Semester == cmbSemester.Text && x.RoomCode == cmbRoomCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year && Semester && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.Semester == cmbSemester.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }

                        if (Semester && Room && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.Semester == cmbSemester.Text && x.RoomCode == cmbRoomCode.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year && Room && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.RoomCode == cmbRoomCode.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }

                        if (Year && Semester)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.Semester == cmbSemester.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year && Room)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.RoomCode == cmbRoomCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Year && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.YearClass == cmbYearClass.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }

                        if (Semester && Room)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.Semester == cmbSemester.Text && x.RoomCode == cmbRoomCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Semester && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.Semester == cmbSemester.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                        if (Room && Subject)
                        {
                            dgRoomRecord.Rows.Clear();
                            var value = notify.GetRegisterStudent().Where(x => x.RoomCode == cmbRoomCode.Text && x.SubjectCode == cmbSubCode.Text).OrderBy(o => o.TimeStart).ToList();
                            if (value.Count > 0)
                            {
                                value.ForEach(x =>
                                {
                                    var studs     = stud.GetStudentInfo().Where(s => s.StudentID == x.StudentID).FirstOrDefault();
                                    var valueBldg = maintain.GetRoom().Where(xx => xx.RoomCode == x.RoomCode).FirstOrDefault();
                                    dgRoomRecord.Rows.Add(x.ID, i, x.StudentID, studs.LastName + "," + studs.FirstName, x.Semester, valueBldg.BuildingCode, x.RoomCode, valueBldg.Description, x.TimeStart.ToShortTimeString() + " to " + x.TImeEnd.ToShortTimeString());
                                    i++;
                                });
                            }
                        }
                    }
                }
            }
        }