public override void Handle(Receiver receiver, SentMessage smMessage, SchoolStaff ss, string ssp, ApplicationDbContext context)
 {
     try
     {
         //smMessage.Id = 0;
         smMessage.Status = true;
         //context.SentMessages.Add(smMessage);
         //context.Entry(addMessage).State = EntityState.Added;
         context.SentMessages.Add(smMessage);
     }
     catch
     {
         try
         {
             smMessage.Id     = 0;
             smMessage.Status = false;
             //context.SentMessages.Add(smMessage);
             context.SentMessages.Add(smMessage);
         }
         catch
         {
             throw new Exception("Errow save to DB!!!");
         }
     }
 }
        /// <summary>
        /// Delete record (menu)
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        // GET: SchoolStaff/Delete/5
        public ActionResult Delete(int id)
        {
            if (_context.SchoolStaffSubjects.Count(a => a.SchoolStaffId == id) > 0)
            {
                ViewBag.DelMessageSSS = "SchoolStaff has a link to Subject!!!";
            }

            if (_context.SchoolStaffProfessions.Count(a => a.SchoolStaffId == id) > 0)
            {
                ViewBag.DelMessageSSP = "SchoolStaff has a link to Profession!!!";
            }

            SchoolStaff listOfSchoolStaff = null;

            try
            {
                listOfSchoolStaff = _repos.Get(id).Result;
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable to load form delete SchoolStaff.");
                return(View());
            }

            return(View(listOfSchoolStaff));
        }
Exemple #3
0
        SchoolStaffSentJson RetAjax(SchoolStaff schoolStaff, string pName, List <SchoolStaffPhone> lssp)
        {
            //List<SchoolStaffPhone> lssp = _reposPhone.GetAll()
            //    .Where(c => c.SchoolStaffId == schoolStaff.Id && c.Phone == pName).ToList();

            var bisExist = (
                (schoolStaff.Surname.ToUpper().Contains(pName.ToUpper())) ||
                (schoolStaff.Email.ToUpper().Contains(pName.ToUpper())) ||
                (schoolStaff.Name.ToUpper().Contains(pName.ToUpper())) ||
                (schoolStaff.Patronymic.ToUpper().Contains(pName.ToUpper())) ||
                (lssp.Count() > 0)
                );

            return(new SchoolStaffSentJson
            {
                Id = schoolStaff.Id,
                Surname = bisExist ? schoolStaff.Surname : "",
                Name = bisExist ? schoolStaff.Name : "",
                Patronymic = bisExist ? schoolStaff.Patronymic : "",
                DateOfBirth = bisExist ? schoolStaff.DateOfBirth.ToString("dd/MM/yyyy") : "",
                Email = bisExist ? schoolStaff.Email : "",
                IsExist = bisExist,
                SchoolStaffPhones = lssp
            });
        }
Exemple #4
0
        public void ConcreteMessage(SchoolStaff ss, string sPhone)
        {
            //------------------------------------------------------------------------------------
            var logger = LogManager.GetCurrentClassLogger();

            logger.Info("Sending SMS to employee " + ss.Name + " " + ss.Patronymic + " " + ss.Patronymic + ", address: " + sPhone + ", Text: " + _sm.MessageText);
        }
Exemple #5
0
        public override void Handle(Receiver receiver, SentMessage smMessage, SchoolStaff ss, string ssp,
                                    ApplicationDbContext context)
        {
            if (receiver.SentMessage == true)
            {
                try
                {
                    if ((smMessage.TypeMessage == TypeMessage.Phone) && (ssp == string.Empty))
                    {
                        receiver.WriteDb = false;
                    }
                    else
                    {
                        var cc = new ConcreteCreator();
                        var a  = cc.FactoryMethod(smMessage);
                        a.ConcreteMessage(ss, ssp);
                        receiver.WriteDb = true;
                        smMessage.Status = true;
                    }
                }
                catch (Exception e)
                {
                    smMessage.Status = false;
                    Console.WriteLine(e);
                    throw;
                }

                if (Successor != null)
                {
                    Successor.Handle(receiver, smMessage, ss, ssp, context);
                }
            }
        }
        public async Task <ActionResult> LinkSchoolStaffSubject(SchoolStaff schoolStaff, int[] selectedSubject)
        {
            try
            {
                await _deleteSchoolStaffSubjectFromSubject.procDeleteSchoolStaffSubjectFromSubject(schoolStaff,
                                                                                                   selectedSubject);
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable to create linq SchoolStaff-Subject.");
                throw;
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemple #7
0
        // GET: SentMessage/Create
        public ActionResult Create(int idSchoolStaff)
        {
            SchoolStaff ss = _context.SchoolStaffs.Find(new object[] { idSchoolStaff });

            ViewBag.idSchoolStaff = idSchoolStaff;

            SentMessage sm = new SentMessage()
            {
                TypeMessage   = ss.typeMessage,
                IdSchoolStaff = ss.Id,
                SchoolStaff   = ss
            };

            return(View(sm));
        }
        public async Task <ActionResult> LinkSchoolStaffAdministration(SchoolStaff schoolStaff,
                                                                       int[] selectedProfessions)
        {
            try
            {
                await _deleteSchoolStaffProfessionFromProfession.procDeleteSchoolStaffProfessionFromProfession(
                    schoolStaff, selectedProfessions);
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable to create Link SchoolStaff-Administration.");
                throw;
            }

            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Delete(int id, SchoolStaff staff)
        {
            // TODO: Add delete logic here
            SchoolStaff ofSchoolStaff = null;

            try
            {
                ofSchoolStaff = _repos.Get(id).Result;
                _repos.Delete(ofSchoolStaff);
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable delete SchoolStaff.");
                return(View(ofSchoolStaff));
            }
        }
        /// <summary>
        /// Edit record
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        // GET: SchoolStaff/Edit/5
        public ActionResult Edit(int id)
        {
            SchoolStaff schoolStaff = null;

            try
            {
                // TODO: Add delete logic here
                schoolStaff = _repos.Get(id).Result;
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable to load form edit SchoolStaff.");
                return(View(schoolStaff));
            }

            return(View(schoolStaff));
        }
Exemple #11
0
        public object WriteMessage(SentMessage oSentMessage, int idSchoolStaff)
        {
            try
            {
                // TODO: Add insert logic here
                //factory method

                //----------------------------------------------
                SchoolStaff schoolStaff = _context.SchoolStaffs.Find(new object[] { idSchoolStaff });
                //SentMessage sentMessage = _context.SentMessages.Find(new object[] { idSentMessage });
                var ssp = _context.SchoolStaffPhones.First(c => c.Id == schoolStaff.PrimaryPhoneId).Phone;

                try
                {
                    if ((ssp == String.Empty) && (schoolStaff.typeMessage == TypeMessage.Phone))
                    {
                        var error = new { success = false, message = "Warning" };
                        return(error);
                    }

                    Receiver receiver = new Receiver(true, true);

                    SentMessageHandler   smh      = new SentMessageHandler();
                    DBSaveMessageHandler dbSavemh = new DBSaveMessageHandler();
                    smh.Successor = dbSavemh;
                    smh.Handle(receiver, oSentMessage, schoolStaff, ssp, _context);

                    var storiesObj = new { success = true, message = "Ok!!!" };
                    return(storiesObj);
                }
                catch (Exception e)
                {
                    var error = new { success = false, message = "Error" };
                    _logger.Error(e, "Errow sent massege!!!");
                    return(error);
                }
            }
            catch (Exception e)
            {
                var error = new { success = false };
                _logger.Error(e, "Errow work with message!!!");
                return(error);
            }
        }
 public ActionResult Create(SchoolStaff staff)
 {
     try
     {
         // TODO: Add insert logic here
         if (ModelState.IsValid)
         {
             _repos.Create(staff);
             return(RedirectToAction(nameof(Index)));
         }
         else
         {
             return(View());
         }
     }
     catch (Exception e)
     {
         _logger.Error(e, "Unable to create SchoolStaff.");
         return(View());
     }
 }
Exemple #13
0
        public void ConcreteMessage(SchoolStaff ss, string sPhone)
        {
            var fromAddress  = new MailAddress("*****@*****.**");
            var fromPassword = "******";
            var toAddress    = new MailAddress(ss.Email);

            string subject = "subject";
            string body    = _sm.MessageText;

            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
            {
                Host                  = "smtp.gmail.com",
                Port                  = 587,
                EnableSsl             = true,
                DeliveryMethod        = System.Net.Mail.SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
            };

            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = body
            })

                try
                {
                    smtp.Send(message);
                    var logger = LogManager.GetCurrentClassLogger();
                    logger.Info("Sending email to employee " + ss.Name + " " + ss.Patronymic + " " + ss.Patronymic + ", address: " + ss.Email + ", Text: " + _sm.MessageText);
                }
                catch (Exception ex)
                {
                    var logger = LogManager.GetCurrentClassLogger();
                    logger.Info("Exception caught in CreateTestMessage4(): {0}",
                                ex.ToString());
                }
            //------------------------------------------------------------------------------------
        }
        public async Task <ActionResult> Edit(int id, SchoolStaff staff)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // TODO: Add update logic here
                    //staff.Id = id;
                    await _repos.Update(staff);

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    return(View());
                }
            }
            catch (Exception e)
            {
                _logger.Error(e, "Unable to edit SchoolStaff.");
                return(View());
            }
        }
        public async Task procDeleteSchoolStaffSubjectFromSubject(SchoolStaff schoolStaff, int[] selectedSubject)
        {
            var schoolStaffSubjectDelete = from t in _context.SchoolStaffSubjects.Where(es => es.SchoolStaffId == schoolStaff.Id)
                                           where !selectedSubject.Any(es => (es == t.SubjectId))
                                           select t;

            foreach (var index in schoolStaffSubjectDelete)
            {
                _context.SchoolStaffSubjects.Remove(index);
            }

            var schoolStaffSubjectAdd = from s in selectedSubject
                                        where !_context.SchoolStaffSubjects.Any(es => ((es.SubjectId == s) && (es.SchoolStaffId == schoolStaff.Id)))
                                        select new SchoolStaffSubject()
            {
                SchoolStaffId = schoolStaff.Id, SubjectId = s
            };

            foreach (var index in schoolStaffSubjectAdd)
            {
                await _context.SchoolStaffSubjects.AddAsync(index);
            }
        }
        public async Task procDeleteSchoolStaffProfessionFromProfession(SchoolStaff schoolStaff, int[] selectedProfessions)
        {
            var a1 = _context.SchoolStaffProfessions.Where(es => es.SchoolStaffId == schoolStaff.Id);
            var schoolStaffProfessionDelete = from t in a1
                                              where !selectedProfessions.Any(es => (es == t.ProfessionId))
                                              select t;

            foreach (var index in schoolStaffProfessionDelete)
            {
                _context.SchoolStaffProfessions.Remove(index);
            }

            var schoolStaffProfessionAdd = from s in selectedProfessions
                                           where !_context.SchoolStaffProfessions.Any(es => ((es.ProfessionId == s) && (es.SchoolStaffId == schoolStaff.Id)))
                                           select new SchoolStaffProfession()
            {
                SchoolStaffId = schoolStaff.Id, ProfessionId = s
            };

            foreach (var index in schoolStaffProfessionAdd)
            {
                await _context.SchoolStaffProfessions.AddAsync(index);
            }
        }
 public abstract void Handle(Receiver receiver, SentMessage smMessage, SchoolStaff ss, string ssp, ApplicationDbContext context);