public motskin_mails Create(Dictionary <string, string> parameters, aspnet_Users user, out string msg) { motskin_mails res = null; msg = ""; try { if (!_IsCanUserChange(user)) { msg = "Нет прав для данной операции"; return(null); } var statusID = GetStatuses().FirstOrDefault(x => x.code == "created").id; Guid guid = Guid.NewGuid(); res = new motskin_mails { date = DateTime.Now, // дата неизменна mailStatusID = statusID, createdUnique = guid }; _fillMail(res, parameters); _db.SaveMail(res); // сохраняем в бд // и сразу же получаем из базы этот объект, чтобы узнать его id. motskin_mails item = _db.GetMails().FirstOrDefault(x => x.createdUnique == guid); _logChangeStatus(item, "Статус изменен " + user.UserName); } catch (Exception ex) { _debug(ex, new { userName = user.UserName }); msg = "Сбой при выполнении операции"; } return(res); }
public static bool DeleteMail(int id) { motskin_mails element = _mails.FirstOrDefault(p => p.id == id); if (element != null) { element.isDeleted = true; return(true); } return(false); }
private void _fillMail(motskin_mails item, Dictionary <string, string> parameters) { foreach (var key in parameters.Keys) { switch (key) { case "fromAddress": item.fromAddress = parameters[key]; break; case "toAddress": item.toAddress = parameters[key]; break; case "trackNumber": item.trackNumber = parameters[key]; break; case "backTrackNumber": item.backTrackNumber = parameters[key]; break; case "description": item.description = parameters[key]; break; case "sendSystemName": item.sendSystemID = RDL.Convert.StrToInt(parameters[key], 0); break; case "backDateReceived": if (parameters[key] != "") { item.backDateReceived = RDL.Convert.StrToDateTime(parameters[key], new DateTime()); } else { item.backDateReceived = null; } break; } } }
public static int SaveMail(motskin_mails element, bool withSave = true) { element.motskin_mailStatuses = GetMailStatuses().FirstOrDefault(p => p.id == element.mailStatusID); element.motskin_sendSystems = GetSendSystems().FirstOrDefault(p => p.id == element.sendSystemID); if (element.id == 0) { element.id = _mails.Count + 1; _mails.Add(element); } else { int pos = _mails.IndexOf(_mails.FirstOrDefault(p => p.id == element.id)); if (pos >= 0) { _mails[pos] = element; } } return(_mails.Count); }
private bool _logChangeStatus(motskin_mails item, string note = "") { var res = false; try { _db.SaveMailStatusLog(new motskin_mailStatusLog { created = DateTime.Now, mailStatusID = item.mailStatusID, mailID = item.id, note = note }); res = true; } catch (Exception ex) { _debug(ex, new { mailID = item.id, statusID = item.mailStatusID, note }); } return(res); }
public int SaveMail(motskin_mails element, bool withSave = true) { #if !PSEUDO if (element.id == 0) { db.motskin_mails.Add(element); if (withSave) { Save(); } } else { db.Entry(element).State = EntityState.Modified; if (withSave) { Save(); } } return(element.id); #else return(PseudoData.SaveMail(element)); #endif }