示例#1
0
        public tsilurik_mails _editMail(List <Dictionary <string, object> > fields, out string msg)
        {
            var res = new tsilurik_mails();

            msg = "";
            try
            {
                var id   = RDL.Convert.StrToInt(AjaxModel.GetValueFromSaveField("id", fields), 0);
                var item = db.GetMail(id);

                item.from              = AjaxModel.GetValueFromSaveField("from", fields);
                item.to                = AjaxModel.GetValueFromSaveField("to", fields);
                item.trackNumber       = AjaxModel.GetValueFromSaveField("trackNumber", fields);
                item.mailSystem        = AjaxModel.GetValueFromSaveField("mailSystem", fields);
                item.returnTrackNumber = AjaxModel.GetValueFromSaveField("returnTrackNumber", fields);
                item.returnDate        = RDL.Convert.StrToDateTime(AjaxModel.GetValueFromSaveField("returnDate", fields), DateTime.Now);
                item.description       = AjaxModel.GetValueFromSaveField("description", fields);
                db.SaveMail(item);
                res = item;
            }
            catch (Exception ex)
            {
                _debug(ex, new { mailID = res.id });
                res = null;
                msg = "Сбой при выполнении операции";
            }

            return(res);
        }
示例#2
0
        private bool _canManageMail(aspnet_Users user, tsilurik_mails item)
        {
            var res = false;

            if ((user != null && user.UserName == "*****@*****.**") && (item == null || item is tsilurik_mails))
            {
                return(true);
            }
            return(res);
        }
示例#3
0
        public tsilurik_mails CreateMail(Dictionary <string, object> parameters, aspnet_Users user, out string msg)
        {
            var res = new tsilurik_mails();

            msg = "";
            try
            {
                if (!_canManageMail(user, res))
                {
                    msg = "Нет прав для данной операции";
                    return(res = null);
                }
                var fields = (parameters["fields"] as ArrayList).ToArray().ToList().Select(x => x as Dictionary <string, object>).ToList();
                if (RDL.Convert.StrToInt(AjaxModel.GetValueFromSaveField("id", fields), 0) == 0)
                {
                    var date              = DateTime.Now;
                    var from              = AjaxModel.GetValueFromSaveField("from", fields);
                    var to                = AjaxModel.GetValueFromSaveField("to", fields);
                    var trackNumber       = AjaxModel.GetValueFromSaveField("trackNumber", fields);
                    var mailSystem        = AjaxModel.GetValueFromSaveField("mailSystem", fields);
                    var returnTrackNumber = AjaxModel.GetValueFromSaveField("returnTrackNumber", fields);
                    var returnDate        = RDL.Convert.StrToDateTime(AjaxModel.GetValueFromSaveField("returnDate", fields), DateTime.Now);
                    var description       = AjaxModel.GetValueFromSaveField("description", fields);
                    var statusID          = GetMailStatuses().FirstOrDefault(x => x.name == "создано").id;
                    var item              = new tsilurik_mails {
                        trackNumber = trackNumber, date = date, from = from, to = to, statusID = statusID,
                        mailSystem  = mailSystem, returnTrackNumber = returnTrackNumber, returnDate = returnDate, description = description
                    };
                    db.SaveMail(item);
                    res = item;
                }
                else
                {
                    res = _editMail(fields, out msg);
                }
            }
            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                res = null;
                msg = "Сбой при выполнении операции";
            }

            return(res);
        }
示例#4
0
 public int SaveMail(tsilurik_mails item, bool withSave = true)
 {
     if (item.id == 0)
     {
         Db.tsilurik_mails.Add(item);
         if (withSave)
         {
             Save();
         }
     }
     else
     {
         Db.Entry(item).State = EntityState.Modified;
         if (withSave)
         {
             Save();
         }
     }
     return(item.id);
 }
示例#5
0
        public bool _logMailStatuses(tsilurik_mails item, string note = "")
        {
            var res = false;

            try
            {
                db.SaveLogsDocumentStatus(new tsilurik_statusLog
                {
                    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);
        }
示例#6
0
        public tsilurik_mails GetMail(int id, aspnet_Users user, out string msg)
        {
            var res = new tsilurik_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);
        }