Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }