Exemplo n.º 1
0
        public static bool DeleteInvoice(int id)
        {
            motskin_invoices element = _invoices.FirstOrDefault(p => p.id == id);

            if (element != null)
            {
                element.isDeleted = true;
                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        public static int SaveInvoice(motskin_invoices element, bool withSave = true)
        {
            element.motskin_invoiceStatuses = GetInvoiceStatuses().FirstOrDefault(p => p.id == element.invoiceStatusID);
            element.motskin_contractors     = GetContractors().FirstOrDefault(p => p.id == element.contractorID);

            if (element.id == 0)
            {
                element.id = _invoices.Count + 1;
                _invoices.Add(element);
            }
            else
            {
                int pos = _invoices.IndexOf(_invoices.FirstOrDefault(p => p.id == element.id));
                if (pos >= 0)
                {
                    _invoices[pos] = element;
                }
            }
            return(_invoices.Count);
        }
Exemplo n.º 3
0
        private void _fillInvoice(motskin_invoices item, Dictionary <string, string> parameters)
        {
            foreach (var key in parameters.Keys)
            {
                switch (key)
                {
                case "number":
                    item.number = parameters[key];
                    break;

                case "contractorName":
                    item.contractorID = RDL.Convert.StrToInt(parameters[key], 0);
                    break;

                case "comment":
                    item.comment = parameters[key];
                    break;
                }
            }
        }
Exemplo n.º 4
0
        private bool _logChangeStatus(motskin_invoices item, string note = "")
        {
            var res = false;

            try
            {
                _db.SaveInvoiceStatusLog(new motskin_invoiceStatusLog
                {
                    created         = DateTime.Now,
                    invoiceStatusID = item.invoiceStatusID,
                    invoiceID       = item.id,
                    note            = note
                });
                res = true;
            }
            catch (Exception ex)
            {
                _debug(ex, new { invoiceID = item.id, statusID = item.invoiceStatusID, note });
            }
            return(res);
        }
Exemplo n.º 5
0
        public motskin_invoices Create(Dictionary <string, string> parameters, aspnet_Users user, out string msg)
        {
            motskin_invoices 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_invoices
                {
                    date            = DateTime.Now, // дата неизменна
                    invoiceStatusID = statusID,
                    createdUnique   = guid
                };
                _fillInvoice(res, parameters);

                _db.SaveInvoice(res);  // сохраняем в бд
                // и сразу же получаем из базы этот объект, чтобы узнать его id.
                motskin_invoices item = _db.GetInvoices().FirstOrDefault(x => x.createdUnique == guid);
                _logChangeStatus(item, "Статус изменен " + user.UserName);
            }
            catch (Exception ex)
            {
                _debug(ex, new { userName = user.UserName });
                msg = "Сбой при выполнении операции";
            }

            return(res);
        }
Exemplo n.º 6
0
        public int SaveInvoice(motskin_invoices element, bool withSave = true)
        {
#if !PSEUDO
            if (element.id == 0)
            {
                db.motskin_invoices.Add(element);
                if (withSave)
                {
                    Save();
                }
            }
            else
            {
                db.Entry(element).State = EntityState.Modified;
                if (withSave)
                {
                    Save();
                }
            }
            return(element.id);
#else
            return(PseudoData.SaveInvoice(element));
#endif
        }