Exemple #1
0
        public async Task <IActionResult> Current()
        {
            try
            {
                var user = await userManager.GetUserAsync(User);

                if (user == null)
                {
                    return(BadRequest("Пользователь не авторизован"));
                }
                db.CurrentUser = user;

                return(Json(new UserViewModel
                {
                    Id = user.Id,
                    Name = user.Name,
                    Email = user.Email,
                    PhoneNumber = user.PhoneNumber,
                    ConcurencyStamp = user.ConcurrencyStamp,
                    UserName = user.UserName,
                    ContractorId = user.ContractorId
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #2
0
        public IActionResult Delete(int id)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                var model = db.Attachments.FirstOrDefault(m => m.Id == id);

                if (model.CreatedBy.ToLower() != db.CurrentUser.UserName.ToLower())
                {
                    return(BadRequest("Вложение может удалять только автор!"));
                }

                if (model != null)
                {
                    db.Attachments.Remove(model);
                    db.SaveChanges();
                    return(Ok());
                }
                else
                {
                    return(BadRequest($"Запись не найдена! ({id})"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #3
0
        public IActionResult Get(int userId)
        {
            try
            {
                var user = db.Users.FirstOrDefault(m => m.Id == userId);

                if (user == null)
                {
                    return(BadRequest(string.Format("Пользователь не найден ({0})", userId)));
                }

                return(Json(new UserViewModel
                {
                    Id = user.Id,
                    Name = user.Name,
                    UserName = user.UserName,
                    Email = user.Email,
                    PhoneNumber = user.PhoneNumber,
                    ConcurencyStamp = user.ConcurrencyStamp,
                    ContractorId = user.ContractorId
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #4
0
        public IActionResult PropSave([FromBody] DocCardProperty model)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                if (db.DocCardProperties.Any(m => m.DocumentGroupId == model.DocumentGroupId && m.DocumentTypeId == model.DocumentTypeId))
                {
                    return(BadRequest("Запись с такими значениями уже существует."));
                }

                EntityEntry <DocCardProperty> ret;
                if (model.Id == 0)
                {
                    ret = db.DocCardProperties.Add(model);
                }
                else
                {
                    ret = db.DocCardProperties.Update(model);
                }
                db.SaveChanges();
                return(Json(ret.Entity));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #5
0
        public IActionResult PropList()
        {
            try
            {
                //var CurrentUser = userManager.GetUserAsync(User).Result;

                var list = db.DocCardProperties.Select(m => new DocCardPropertyViewModel
                {
                    Id = m.Id,
                    DocumentGroupId   = m.DocumentGroupId,
                    DocumentTypeId    = m.DocumentTypeId,
                    CreatedBy         = m.CreatedBy,
                    CreatedDate       = m.CreatedDate,
                    LastUpdatedBy     = m.LastUpdatedBy,
                    LastUpdatedDate   = m.LastUpdatedDate,
                    DocumentGroupName = m.DocumentGroup.Name,
                    DocumentTypeName  = m.DocumentTypeId.HasValue ? m.DocumentType.Name : ""
                });

                return(Json(list));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult Save(int departmentId, int metaObjectId, int objectId)
        {
            try
            {
                var model = db.DataRestrictions.FirstOrDefault(m => m.DepartmentId == departmentId && m.MetaObjectId == metaObjectId && m.ObjectId == objectId);

                if (model != null)
                {
                    return(Ok());
                }

                model = new DataRestriction();
                model.MetaObjectId = metaObjectId;
                model.ObjectId     = objectId;
                model.DepartmentId = departmentId;

                db.DataRestrictions.Add(model);
                db.SaveChanges();

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #7
0
        public IActionResult FieldSave([FromBody] IList <DocCardPropertyField> list)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                foreach (var item in list)
                {
                    var has = db.DocCardPropertyFields.Any(m => m.DocCardPropertyId == item.DocCardPropertyId && m.FieldName == item.FieldName);
                    if (has)
                    {
                        db.DocCardPropertyFields.Update(item);
                        db.SaveChanges();
                    }
                    else
                    {
                        db.DocCardPropertyFields.Add(item);
                        db.SaveChanges();
                    }
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #8
0
        public IActionResult Post([FromBody] UserViewModel model)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                var user = db.Users.FirstOrDefault(m => m.Id == model.Id);

                if (user == null)
                {
                    return(BadRequest(string.Format("Пользователь не найден ({0})", model.Id)));
                }

                if (user.ConcurrencyStamp != model.ConcurencyStamp)
                {
                    return(BadRequest(string.Format("Запись уже изменена другим пользователем, обновите страницу (F5), чтобы увидеть изменения.", model.Id)));
                }

                user.Name         = model.Name;
                user.Email        = model.Email;
                user.PhoneNumber  = model.PhoneNumber;
                user.UserName     = model.UserName;
                user.ContractorId = model.ContractorId;

                db.SaveChanges();

                return(StatusCode(200));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult Delete(int depId, int moId, int objectId)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                var model = db.DataRestrictions.FirstOrDefault(m => m.DepartmentId == depId && m.MetaObjectId == moId && m.ObjectId == objectId);
                if (model != null)
                {
                    db.DataRestrictions.Remove(model);
                    db.SaveChanges();
                    return(Ok());
                }
                else
                {
                    return(BadRequest(new ErrorMessage {
                        Show = true, Text = "Запись не найдена."
                    }));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult List(int?metaObjectId, int?objectId, int?departmentId)
        {
            try
            {
                var CurrentUser = userManager.GetUserAsync(User).Result;

                var readed = db.ChatReads.Where(m => m.DepartmentId == departmentId).Select(m => m.ChatId);

                var depList = db.UserDepartments.Where(d => d.UserId == CurrentUser.Id).Select(d => d.DepartmentId);

                var list = db.Chats.Where(m => m.MetaObjectId == metaObjectId && m.ObjectId == objectId).OrderBy(m => m.CreatedDate).Select(c => new ChatViewModel
                {
                    Id              = c.Id,
                    AuthorId        = c.AuthorId,
                    DepartmentId    = c.DepartmentId,
                    DepartmentName  = c.Department.Name,
                    MetaObjectId    = c.MetaObjectId,
                    ObjectId        = c.ObjectId,
                    MessageText     = c.MessageText,
                    CreatedBy       = c.CreatedBy,
                    CreatedDate     = c.CreatedDate,
                    LastUpdatedBy   = c.LastUpdatedBy,
                    LastUpdatedDate = c.LastUpdatedDate,
                    Readed          = readed.Contains(c.Id),
                    IsOut           = depList.Contains(c.DepartmentId)
                }).ToList();

                return(Json(list));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        /// <summary>
        /// Performs a seek if it scheduled. </summary>
        /// <param name="seekExecutor"> Callback for performing a seek on the track </param>
        /// <returns> True if a seek was performed </returns>
        private bool checkPendingSeek(SeekExecutor seekExecutor)
        {
            if (!audioTrack.Seekable)
            {
                return(false);
            }

            long seekPosition;

            lock (actionSynchronizer)
            {
                seekPosition = pendingSeek.get();

                if (seekPosition == -1)
                {
                    return(false);
                }

                log.LogDebug("Track {} interrupted for seeking to {}.", audioTrack.Identifier, seekPosition);
                applySeekState(seekPosition);
            }

            try
            {
                seekExecutor.performSeek(seekPosition);
            }
            catch (System.Exception e)
            {
                throw ExceptionTools.wrapUnfriendlyExceptions("Something went wrong when seeking to a position.", FAULT, e);
            }

            return(true);
        }
        public IActionResult MarkAsRead(int metaObjectId, int objectId, int departmentId)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;
                // уже прочитанные сообщения
                var readed = db.ChatReads.Where(m => m.DepartmentId == departmentId).Select(m => m.ChatId);

                // не прочитанные
                var list = db.Chats.Where(m => m.MetaObjectId == metaObjectId && m.ObjectId == objectId && m.DepartmentId != departmentId && !readed.Contains(m.Id)).ToList();

                foreach (var item in list)
                {
                    var cr = new ChatRead();
                    cr.ChatId       = item.Id;
                    cr.DepartmentId = departmentId;

                    db.ChatReads.Add(cr);
                }

                if (list.Count > 0)
                {
                    db.SaveChanges();
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #13
0
        //JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
        //ORIGINAL LINE: private Callable<Void> createItemLoader(final String identifier, final AudioLoadResultHandler resultHandler)
        private Callable <Void> createItemLoader(string identifier, AudioLoadResultHandler resultHandler)
        {
            return(() =>
            {
                bool[] reported = new bool[1];

                try
                {
                    if (!checkSourcesForItem(new AudioReference(identifier, null), resultHandler, reported))
                    {
                        log.debug("No matches for track with identifier {}.", identifier);
                        resultHandler.noMatches();
                    }
                }
                catch (Exception throwable)
                {
                    if (reported[0])
                    {
                        log.warn("Load result handler for {} threw an exception", identifier, throwable);
                    }
                    else
                    {
                        dispatchItemLoadFailure(identifier, resultHandler, throwable);
                    }

                    ExceptionTools.rethrowErrors(throwable);
                }

                return null;
            });
        }
Exemple #14
0
        public IActionResult FieldList(int propId)
        {
            try
            {
                var properties = typeof(DocCard).GetProperties().Where(p => p.GetCustomAttributes(typeof(UsePropertyAttribute), true).Count() != 0);

                IList <DocCardPropertyField> fiedls = new List <DocCardPropertyField>();

                foreach (var item in properties)
                {
                    var field = db.DocCardPropertyFields.FirstOrDefault(m => m.DocCardPropertyId == propId && m.FieldName == item.Name);
                    if (field == null)
                    {
                        field = new DocCardPropertyField();
                        field.DocCardPropertyId = propId;
                        field.FieldName         = item.Name;
                        field.DisplayName       = item.Name;
                    }

                    fiedls.Add(field);
                }

                return(Json(fiedls));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult Save([FromBody] Menu model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    db.CurrentUser = userManager.GetUserAsync(User).Result;

                    if (model.Id == 0)
                    {
                        var newModel = db.Menus.Add(model);
                        db.SaveChanges();
                        return(Json(newModel.Entity));
                    }
                    else
                    {
                        var state = db.Menus.Update(model);
                        db.SaveChanges();
                        return(Json(state.Entity));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #16
0
        static void Disposing(int toms)
        {
            Logger.Trace("Launching dispose monitor");
            var thread = new Thread(() =>
            {
                var dl = DateTime.Now.AddMilliseconds(toms);
                Logger.Trace("Dispose monitor DL {0}", dl.ToString("HH:mm:ss.fff"));
                while (true)
                {
                    if (DateTime.Now > dl)
                    {
                        throw ExceptionTools.Make("Timeout with dispose count {0}", Disposable.Undisposed);
                    }
                    if (Disposable.Undisposed == 0)
                    {
                        Logger.Trace("Dispose zero count detected");
                        Environment.Exit(0);
                    }
                    Thread.Sleep(100);
                }
            });

            thread.IsBackground = true;
            thread.Name         = "DisposeMonitor";
            thread.Start();
        }
        public IActionResult Save([FromBody] MetaObject model)
        {
            try
            {
                if (model == null)
                {
                    return(BadRequest("Ошибка парсинга модели."));
                }

                db.CurrentUser = userManager.GetUserAsync(User).Result;

                if (model.Id == 0)
                {
                    var newModel = db.MetaObjects.Add(model);
                    db.SaveChanges();
                    return(Json(newModel.Entity));
                }
                else
                {
                    var state = db.MetaObjects.Update(model);
                    db.SaveChanges();
                    return(Json(state.Entity));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult List(int?parentId)
        {
            try
            {
                var list = db.MetaObjects.Where(m => m.ParentId == parentId).AsQueryable();

                return(Json(list.Select(s =>
                                        new MetaObjectViewModel
                {
                    Id = s.Id,
                    Name = s.Name,
                    Comment = s.Comment,
                    DisplayName = s.DisplayName,
                    Value = s.Value,
                    ParentId = s.ParentId,
                    ParentName = (s.ParentId.HasValue ? s.Parent.Name : ""),
                    TypeId = s.TypeId,
                    TypeName = s.Type.Name,
                    CreatedBy = s.CreatedBy,
                    CreatedDate = s.CreatedDate,
                    LastUpdatedBy = s.LastUpdatedBy,
                    LastUpdatedDate = s.LastUpdatedDate
                })));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #19
0
        public IActionResult StatusList(int typeId)
        {
            try
            {
                var list = db.DocumentStatuses.Where(s => s.DocumentTypeId == typeId).OrderBy(s => s.OrderNumber);
                //.Select(s => new DocStatusViewModel
                //{
                //	Id = s.Id,
                //	Name = s.Name,
                //	DisplayName = s.DisplayName,
                //	OrderNumber = s.OrderNumber,
                //	Value = s.Value,
                //	Color = s.Color,
                //	DocumentTypeId = s.DocumentTypeId,
                //	DocumentTypeName = s.DocumentType.Name,
                //	CreatedBy = s.CreatedBy,
                //	CreatedDate = s.CreatedDate,
                //	LastUpdatedBy = s.LastUpdatedBy,
                //	LastUpdatedDate = s.LastUpdatedDate
                //});

                return(Json(list));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
        public IActionResult Save([FromBody] Chat model)
        {
            try
            {
                db.CurrentUser = userManager.GetUserAsync(User).Result;

                EntityEntry <Chat> ret;
                if (model.Id == 0)
                {
                    model.AuthorId = db.CurrentUser.Id;

                    ret = db.Chats.Add(model);
                }
                else
                {
                    ret = db.Chats.Update(model);
                }
                db.SaveChanges();
                return(Json(ret.Entity));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #21
0
        public IActionResult List(int metaObjectId, int objectId)
        {
            try
            {
                var list = db.Attachments
                           .Where(a => a.MetaObjectId == metaObjectId && a.ObjectId == objectId)
                           .OrderBy(a => a.Name)
                           .Select(a => new
                {
                    id              = a.Id,
                    name            = a.Name,
                    fileName        = a.FileName,
                    metaObjectId    = a.MetaObjectId,
                    objectId        = a.ObjectId,
                    createdBy       = a.CreatedBy,
                    createdDate     = a.CreatedDate,
                    lastUpdatedBy   = a.LastUpdatedBy,
                    lastUpdatedDate = a.LastUpdatedDate
                }).ToList();

                return(Json(list));
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #22
0
        private void dispatchItemLoadFailure(string identifier, AudioLoadResultHandler resultHandler, Exception throwable)
        {
            FriendlyException exception = ExceptionTools.wrapUnfriendlyExceptions("Something went wrong when looking up the track", FAULT, throwable);

            ExceptionTools.log(log, exception, "loading item " + identifier);

            resultHandler.loadFailed(exception);
        }
Exemple #23
0
        public IActionResult Save([FromForm] AttachmentDataModel model)
        {
            try
            {
                if (model == null)
                {
                    return(BadRequest("Ошибка преобразования модели. Обратитесь в поддержку."));
                }

                db.CurrentUser = userManager.GetUserAsync(User).Result;

                var attModel = new Attachment
                {
                    Name         = model.Name,
                    MetaObjectId = model.MetaObjectId,
                    ObjectId     = model.ObjectId,
                };

                if (model.File != null)
                {
                    attModel.FileName    = model.File.FileName;
                    attModel.ContentType = model.File.ContentType;
                    attModel.Length      = model.File.Length;

                    var stream = model.File.OpenReadStream();
                    using (MemoryStream ms = new MemoryStream())
                    {
                        stream.CopyTo(ms);
                        attModel.File = ms.ToArray();
                    }
                }


                if (model.Id != 0)
                {
                    attModel.Id = model.Id;
                    // обновили только описание, его только и поменяем
                    if (model.File == null)
                    {
                        attModel      = db.Attachments.Single(a => a.Id == model.Id);
                        attModel.Name = model.Name;
                    }

                    db.Attachments.Update(attModel);
                }
                else
                {
                    db.Attachments.Add(attModel);
                }

                db.SaveChanges();
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
            }
        }
Exemple #24
0
        private Future <Void> handleLoadRejected(string identifier, AudioLoadResultHandler resultHandler, RejectedExecutionException e)
        {
            FriendlyException exception = new FriendlyException("Cannot queue loading a track, queue is full.", SUSPICIOUS, e);

            ExceptionTools.log(log, exception, "queueing item " + identifier);

            resultHandler.loadFailed(exception);

            return(ExecutorTools.COMPLETED_VOID);
        }
Exemple #25
0
 /// <summary>
 /// Disposes the current background, and automatically hides the form.
 /// </summary>
 public void InvalidateBackground()
 {
     try
     {
         Invoke(new MethodInvoker(_InvalidateBackground));
     }
     catch (Exception e)
     {
         Console.WriteLine(ExceptionTools.CreateExceptionText(e, false));
     }
 }
Exemple #26
0
 public void InvokeReshow()
 {
     try
     {
         Invoke(new MethodInvoker(MakeVisible));
     }
     catch (Exception e)
     {
         Console.WriteLine(ExceptionTools.CreateExceptionText(e, false));
     }
 }
Exemple #27
0
 public void InvokeReFill()
 {
     try
     {
         Invoke(new MethodInvoker(ReFill));
     }
     catch (Exception e)
     {
         Console.WriteLine(ExceptionTools.CreateExceptionText(e, false));
     }
 }
Exemple #28
0
 public IActionResult GetPermition(string url)
 {
     try
     {
         return(Json(new { CanAdd = true, CanDelete = true, CanEdit = true, canRead = true }));
     }
     catch (Exception ex)
     {
         return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
     }
 }
Exemple #29
0
 /// <param name="provider"> Delegates a call to frame provide without timeout to the timed version of it. </param>
 /// <returns> The audio frame from provide method. </returns>
 public static AudioFrame delegateToTimedProvide(AudioFrameProvider provider)
 {
     try
     {
         return(provider.provide(0, TimeUnit.MILLISECONDS));
     }
     catch (System.Exception e) when(e is System.TimeoutException || e is InterruptedException)
     {
         ExceptionTools.keepInterrupted(e);
         throw new System.Exception(e);
     }
 }
Exemple #30
0
 public IActionResult List()
 {
     try
     {
         var list = db.Services.OrderBy(m => m.Name).ToList();
         return(Json(list));
     }
     catch (Exception ex)
     {
         return(BadRequest(ExceptionTools.GetExceptionMessage(ex)));
     }
 }