Example #1
0
        private void _fillDocument(motskin_documents item, Dictionary <string, string> parameters)
        {
            foreach (var key in parameters.Keys)
            {
                string value = parameters[key].ToString();
                switch (key)
                {
                case "number":
                    item.number = value;
                    break;

                case "sum":
                    item.sum = RDL.Convert.StrToDecimal(value, 0);
                    break;

                case "contractorID":
                    item.contractorID = RDL.Convert.StrToInt(value, 0);
                    break;

                case "documentTypeID":
                    item.documentTypeID = RDL.Convert.StrToInt(value, 0);
                    break;

                case "comment":
                    item.comment = value;
                    break;

                case "reference":
                    item.reference = value;
                    break;
                }
            }
        }
Example #2
0
        public static bool DeleteDocument(int id)
        {
            motskin_documents element = _documents.FirstOrDefault(p => p.id == id);

            if (element != null)
            {
                element.isDeleted = true;
                return(true);
            }
            return(false);
        }
Example #3
0
        public static int SaveDocument(motskin_documents element, bool withSave = true)
        {
            element.motskin_documentStatuses = GetDocumentStatuses().FirstOrDefault(p => p.id == element.documentStatusID);
            element.motskin_documentTypes    = GetDocumentTypes().FirstOrDefault(p => p.id == element.documentTypeID);
            element.motskin_contractors      = GetContractors().FirstOrDefault(p => p.id == element.contractorID);

            if (element.id == 0)
            {
                element.id = _documents.Count + 1;
                _documents.Add(element);
            }
            else
            {
                int pos = _documents.IndexOf(_documents.FirstOrDefault(p => p.id == element.id));
                if (pos >= 0)
                {
                    _documents[pos] = element;
                }
            }
            return(_documents.Count);
        }
Example #4
0
        private bool _logChangeStatus(motskin_documents item, string note = "")
        {
            var res = false;

            try
            {
                _db.SaveDocumentStatusLog(new motskin_documentStatusLog
                {
                    created          = DateTime.Now,
                    documentStatusID = item.documentStatusID,
                    documentID       = item.id,
                    note             = note
                });
                res = true;
            }
            catch (Exception ex)
            {
                _debug(ex, new { documentID = item.id, statusID = item.documentStatusID, note });
            }
            return(res);
        }
Example #5
0
        public motskin_documents Create(Dictionary <string, string> parameters, aspnet_Users user, out string msg)
        {
            motskin_documents 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_documents
                {
                    date             = DateTime.Now, // дата неизменна
                    documentStatusID = statusID,
                    createdUnique    = guid,
                    //reference = "" // пока адрес не сформирован
                };
                _fillDocument(res, parameters);

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

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