public tsilurik_invoices _editInvoice(List <Dictionary <string, object> > fields, out string msg) { var res = new tsilurik_invoices(); msg = ""; try { var id = RDL.Convert.StrToInt(AjaxModel.GetValueFromSaveField("id", fields), 0); var item = db.GetInvoice(id); item.number = AjaxModel.GetValueFromSaveField("number", fields); item.contractorID = RDL.Convert.StrToInt(AjaxModel.GetValueFromSaveField("contractor", fields), 0); item.note = AjaxModel.GetValueFromSaveField("note", fields); db.SaveInvoice(item); res = item; } catch (Exception ex) { _debug(ex, new { invoiceID = res.id }); res = null; msg = "Сбой при выполнении операции"; } return(res); }
private bool _canManageInvoice(aspnet_Users user, tsilurik_invoices item) { var res = false; if ((user != null && user.UserName == "*****@*****.**") && (item == null || item is tsilurik_invoices)) { return(true); } return(res); }
public int SaveInvoice(tsilurik_invoices item, bool withSave = true) { if (item.id == 0) { Db.tsilurik_invoices.Add(item); if (withSave) { Save(); } } else { Db.Entry(item).State = EntityState.Modified; if (withSave) { Save(); } } return(item.id); }
public bool _logInvoiceStatuses(tsilurik_invoices item, string note = "") { var res = false; try { db.SaveLogsInvoiceStatus(new tsilurik_statusLog { created = DateTime.Now, statusID = item.statusID, invoiceID = item.id, note = note }); res = true; } catch (Exception ex) { _debug(ex, new { invoiceID = item.id, statusID = item.statusID, note }); } return(res); }
public tsilurik_invoices CreateInvoice(Dictionary <string, object> parameters, aspnet_Users user, out string msg) { var res = new tsilurik_invoices(); msg = ""; try { if (!_canManageInvoice(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 number = AjaxModel.GetValueFromSaveField("number", fields); var contractorID = RDL.Convert.StrToInt(AjaxModel.GetValueFromSaveField("contractor", fields), 0); var statusID = GetInvoiceStatuses().FirstOrDefault(x => x.name == "создан").id; var note = AjaxModel.GetValueFromSaveField("note", fields); var item = new tsilurik_invoices { number = number, date = date, contractorID = contractorID, statusID = statusID, note = note }; db.SaveInvoice(item); res = item; } else { res = _editInvoice(fields, out msg); } } catch (Exception ex) { _debug(ex, new { userName = user.UserName }); res = null; msg = "Сбой при выполнении операции"; } return(res); }
public tsilurik_invoices GetInvoice(int id, aspnet_Users user, out string msg) { var res = new tsilurik_invoices(); msg = ""; try { res = db.GetInvoice(id); if (!_canAccessToInvoice(user, res)) { msg = "Нет прав для данной операции"; return(res = null); } } catch (Exception ex) { _debug(ex, new { documentID = id, userName = user.UserName }); res = null; msg = "Сбой при выполнении операции"; } return(res); }