예제 #1
0
        public vas_mails CreateMail(string from, string to, aspnet_Users user, out string msg)
        {
            var res = new vas_mails();

            msg = "";
            try
            {
                if (!_canManageMail(user))
                {
                    msg = "Нет прав для данной операции";
                    return(res = null);
                }

                res.from        = from;
                res.to          = to;
                res.trackNumber = _getRandomString(8);;
                res.date        = DateTime.Now;
                res.statusID    = 1;
                res.mailSystem  = "Default Mail System";
                res.comment     = "Комментарий";
                res.code        = _getRandomString(8).ToLower();

                db.SaveMail(res);
            }
            catch (Exception ex)
            {
                _debug(ex, new { from = from, to = to, userName = user.UserName });
                res = null;
                msg = "Сбой при выполнеии операции";
            }

            return(res);
        }
예제 #2
0
        private bool _canManageMail(aspnet_Users user, vas_mails item = null)
        {
            var res = false;

            if ((user != null && user.UserName == "*****@*****.**") && (item == null || item is vas_mails))
            {
                return(true);
            }
            return(res);
        }
예제 #3
0
 public int SaveMail(vas_mails item, bool withSave = true)
 {
     if (item.id == 0)
     {
         Db.vas_mails.Add(item);
         if (withSave)
         {
             Save();
         }
     }
     else
     {
         Db.Entry(item).State = EntityState.Modified;
         if (withSave)
         {
             Save();
         }
     }
     return(item.id);
 }
예제 #4
0
        public bool _logMailStatusChange(vas_mails item, string note = "")
        {
            var res = false;

            try
            {
                db.SaveMailStatusLog(new vas_mailStatusesLog
                {
                    id       = 0,
                    created  = DateTime.Now,
                    statusID = item.statusID,
                    mailID   = item.id,
                    note     = note
                });
                res = true;
            }
            catch (Exception ex)
            {
                _debug(ex, new { documentID = item.id, statusID = item.statusID, note });
            }
            return(res);
        }
예제 #5
0
        public vas_mails GetMail(int id, aspnet_Users user, out string msg)
        {
            var res = new vas_mails();

            msg = "";
            try
            {
                res = db.GetMail(id);
                if (!_canAccessToMail(user, res))
                {
                    msg = "Нет прав для данной операции";
                    return(res = null);
                }
            }
            catch (Exception ex)
            {
                _debug(ex, new { mailID = id, userName = user.UserName });
                res = null;
                msg = "Сбой при выполнеии операции";
            }

            return(res);
        }