private static bool IsVisibility(string key)
        {
            Guid employeeId = UserHelper.GetCurrentEmployee().Id;
            var  result     = IsVisibility(key, employeeId);

            return(result);
        }
Example #2
0
        public static void WriteExt(ncelsEntities context, string text, string additionalText = null)
        {
            var e          = UserHelper.GetCurrentEmployee();
            var employeeId = e == null ? (Guid?)null : e.Id;

            Write(context, LogPlace.Ext, employeeId, text, additionalText);
        }
Example #3
0
        public static bool IsCurrentOrganizationDocument(ncelsEntities db, Guid id)
        {
            Guid organizationId = UserHelper.GetCurrentEmployee().OrganizationId;
            var  isCurrent      = db.Documents.First(m => m.Id == id).OrganizationId == organizationId;

            return(isCurrent);
        }
Example #4
0
        public static void SetSignTaskAsParent(ncelsEntities db, Document document)
        {
            Activity activity = new Activity
            {
                Id = Guid.NewGuid(),
                //	ParentTask = task.Id,
                DocumentId     = document.Id,
                AuthorId       = UserHelper.GetCurrentEmployee().Id.ToString(),
                AuthorValue    = UserHelper.GetCurrentEmployee().DisplayName,
                ExecutorsId    = document.RegistratorId,
                ExecutorsValue = document.RegistratorValue,
                //ResponsibleId = DictionaryHelper.GetItemsId(taskAction.ResponsibleId),
                //ResponsibleValue = DictionaryHelper.GetItemsName(taskAction.ResponsibleId),
                Type          = 6,
                IsParrent     = true,
                CreatedDate   = DateTime.Now,
                ParentId      = null,
                ExecutionDate = document.ExecutionDate,
                Text          = "Подписать",
                //IsMainLine = task.IsMainLine
            };

            db.Activities.Add(activity);
            db.SaveChanges();
        }
Example #5
0
        /// <summary>
        /// ПОлучить номер из настроек
        /// </summary>
        /// <param name="settingType">Тип реестра</param>
        /// <returns></returns>
        public static int GetNumber(string settingType)
        {
            ncelsEntities   context  = new ncelsEntities();
            IList <Setting> settings = context.Settings.Where(x => x.Type == "Counts" && x.UniqueName == settingType).ToList();
            int             value;
            string          countName = settingType;

            Guid    orgId   = UserHelper.GetCurrentEmployee().OrganizationId;
            Setting counter = settings.FirstOrDefault(x => x.UniqueName == countName && x.UserId == orgId);

            if (counter != null)
            {
                value         = int.Parse(counter.Value) + 1;
                counter.Value = value.ToString(CultureInfo.InvariantCulture);
            }
            else
            {
                Setting newCounter = new Setting
                {
                    Id         = Guid.NewGuid(),
                    Name       = settingType,
                    Type       = "Counts",
                    Rank       = 0,
                    Value      = "1",
                    UniqueName = countName,
                    UserId     = orgId
                };
                context.Settings.Add(newCounter);
                value = 1;
            }
            context.SaveChanges();
            return(value);
        }
Example #6
0
        public Organization GetOrganizationPrice(ncelsEntities db, Guid orgId, int type)
        {
            var employeeId = UserHelper.GetCurrentEmployee().Id;

            var priceProject = db.PriceProjects.FirstOrDefault(m => m.OwnerId == employeeId);

            if (priceProject == null)
            {
                return new Organization()
                       {
                           Id = orgId, Type = type, DocDate = DateTime.Now, DocExpiryDate = DateTime.Now
                       }
            }
            ;
            switch (type)
            {
            case 9:
            case 0:
            case 3:
            case 6:
                var orgHolder = db.Organizations.FirstOrDefault(o => o.Id == priceProject.HolderOrganizationId);

                if (orgHolder == null)
                {
                    return new Organization()
                           {
                               Id = orgId, Type = type, DocDate = DateTime.Now, DocExpiryDate = DateTime.Now
                           }
                }
                ;
                orgHolder.Id = orgId;
                return(orgHolder);

            case 1:
            case 4:
            case 7:
            case 10:
                var orgProxy = db.Organizations.FirstOrDefault(o => o.Id == priceProject.ProxyOrganizationId);
                if (orgProxy == null)
                {
                    return new Organization()
                           {
                               Id = orgId, Type = type, DocDate = DateTime.Now, DocExpiryDate = DateTime.Now
                           }
                }
                ;
                orgProxy.Id = orgId;
                return(orgProxy);

            default:
                return(new Organization()
                {
                    Id = orgId, Type = type, DocDate = DateTime.Now, DocExpiryDate = DateTime.Now
                });
            }
        }
    }
Example #7
0
 public DashboardService()
 {
     if (UserHelper.GetCurrentEmployee() != null)
     {
         _currentEmployeeId   = UserHelper.GetCurrentEmployee().Id.ToString();
         _currentDepartmentId = UserHelper.GetCurrentEmployee().Position.ParentId.ToString();
     }
     _connectionString = GetCnString();
 }
Example #8
0
        public async Task <List <Notification> > GetListAllNotification(ncelsEntities context)
        {
            var employeeId = UserHelper.GetCurrentEmployee().Id;

            return(await
                   context.Notifications.Where(m => m.EmployeesId == employeeId.ToString())
                   .OrderByDescending(m => !m.IsRead)
                   .ThenByDescending(m => m.CreatedDate)
                   .ToListAsync());
        }
Example #9
0
        public static void CreateIncomingDocs(Document document)
        {
            ncelsEntities context   = UserHelper.GetCn();
            List <Item>   items     = DictionaryHelper.GetItems(document.CorrespondentsId, document.CorrespondentsValue);
            List <string> listEmail = new List <string>();

            if (items.Count > 0)
            {
                foreach (var item in items)
                {
                    Unit unit = context.Units.Find(new Guid(item.Id));

                    if (unit.Type == 0)
                    {
                        Document doc = context.Documents.FirstOrDefault(x => x.OrganizationId == unit.Id && x.SourceId == document.Id.ToString());
                        if (doc == null)
                        {
                            Document inDoc = new Document()
                            {
                                Id                            = Guid.NewGuid(),
                                Summary                       = document.Summary,
                                OutgoingDate                  = document.DocumentDate,
                                OutgoingNumber                = document.Number,
                                DocumentDate                  = DateTime.Now,
                                MonitoringType                = document.MonitoringType,
                                CorrespondentsId              = UserHelper.GetCurrentEmployee().OrganizationId.ToString(),
                                CorrespondentsValue           = UserHelper.GetCurrentEmployee().Organization.Name,
                                CorrespondentsInfo            = document.SignerValue,
                                ApplicantName                 = document.CreatedUserValue,
                                ApplicantEmail                = UserHelper.GetCurrentEmployee().Organization.Email,
                                ExecutionDate                 = document.ExecutionDate,
                                DocumentKindDictionaryId      = document.DocumentKindDictionaryId,
                                DocumentKindDictionaryValue   = document.DocumentKindDictionaryValue,
                                QuestionDesignDictionaryId    = document.QuestionDesignDictionaryId,
                                QuestionDesignDictionaryValue = document.QuestionDesignDictionaryValue,
                                Counters                      = document.Counters,
                                PageCount                     = document.PageCount,
                                CopiesCount                   = document.CopiesCount,
                                LanguageDictionaryId          = document.LanguageDictionaryId,
                                LanguageDictionaryValue       = document.LanguageDictionaryValue,
                                OrganizationId                = unit.Id,
                                SourceId                      = document.Id.ToString(),
                                SourceValue                   = document.DisplayName,
                                AttachPath                    = FileHelper.GetObjectPathRoot()
                            };
                            context.Documents.Add(inDoc);
                            CopyFile(document.AttachPath.ToString(), inDoc.AttachPath.ToString());
                        }
                    }
                    context.SaveChanges();
                }
            }
        }
Example #10
0
        public async Task <object> GetNewNotification(ncelsEntities context)
        {
            var employeeId = UserHelper.GetCurrentEmployee().Id;

            var data =
                await context.Notifications.Where(m => !m.IsRead && m.EmployeesId == employeeId.ToString())
                .OrderByDescending(m => m.CreatedDate)
                .Take(3).ToListAsync();

            var count = await context.Notifications.CountAsync(m => !m.IsRead && m.EmployeesId == employeeId.ToString());

            return(new { Data = data, Count = count });
        }
Example #11
0
        public async Task <object> ReadSigning(ncelsEntities db, ModelRequest request)
        {
            try
            {
                var employeeId = UserHelper.GetCurrentEmployee().Id.ToString();

                //Database query
                var v = db.Tasks
                        .Join(db.Documents, t => t.DocumentId, d => d.Id, (t, d) => new { t, d })
                        .Join(db.Contracts, cd => cd.d.Id, c => c.Id, (cd, c) => new { cd, c })
                        .Where(m => m.cd.t.Type == 6 && m.cd.t.State == 0 && m.cd.t.ExecutorId == employeeId).OrderBy(m => m.cd.t.CreatedDate).AsQueryable();


                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.cd.t.Number.Contains(request.SearchValue) || a.cd.t.Text.Contains(request.SearchValue)
                            );
                }

                //sort
                //if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                //{
                //    //for make sort simpler we will add Syste.Linq.Dynamic reference
                //    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                //}



                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = await expertiseViews.Select(m => new { m.cd.t.Id, m.cd.t.State, m.cd.t.Text, m.cd.t.DocumentId, m.cd.t.CreatedDate, m.cd.t.DocumentValue, m.cd.t.Number, m.c.Type }).ToListAsync()
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #12
0
        public async Task <object> GetCurrentList(ncelsEntities db, ModelRequest request, Guid id)
        {
            try
            {
                var employeeId = UserHelper.GetCurrentEmployee().Id.ToString();

                //Database query
                var v = db.Documents.Where(o => o.IsDeleted == false && o.AnswersId == id.ToString() && (o.DocumentType == 0 || o.DocumentType == 1)).AsQueryable();
                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.OutgoingNumber.Contains(request.SearchValue) || a.Summary.Contains(request.SearchValue)
                            );
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }


                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = expertiseViews.Select(m => new { m.Id, m.Summary, m.OutgoingNumber, m.DocumentDate, m.AttachPath }).ToList().Select(m => new {
                        m.Id,
                        m.Summary,
                        Number = m.OutgoingNumber,
                        m.DocumentDate,
                        Items = UploadHelper.GetFilesInfo(m.AttachPath, false)
                    })
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #13
0
        public static List <Document> GetFondDocuments(ncelsEntities db, int type)
        {
            Guid currentOrganizationId = UserHelper.GetCurrentEmployee().OrganizationId;
            Guid umcId     = Guid.Parse("8f0b91f3-af29-4d3c-96d6-019cbbdfc8be");
            var  documents = db.Documents
                             .Join(db.Tasks, d => d.Id, t => t.DocumentId, (d, t) => new { t, d })
                             .Join(db.Employees, te => te.t.ExecutorId, e => e.Id.ToString(), (te, e) => new { te, e })
                             .Where(m => m.e.OrganizationId == currentOrganizationId &&
                                    m.te.d.OrganizationId == umcId &&
                                    m.te.d.DocumentType == type && !m.te.d.IsDeleted)
                             .Select(m => m.te.d).ToList();
            var result = documents.Distinct().OrderByDescending(m => m.Number);

            return(result.ToList());
        }
Example #14
0
        public async Task <object> GetContracts(ncelsEntities db, ModelRequest request, int?code)
        {
            try
            {
                var employeeId = UserHelper.GetCurrentEmployee().Id;
                //Database query
                var v = code != null?db.ContractsViews.Where(m => m.Status == code && m.OwnerId == employeeId).AsQueryable() : db.ContractsViews.Where(m => m.OwnerId == employeeId).AsQueryable();

                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.Number.Contains(request.SearchValue) || a.ManufactureOrgName.Contains(request.SearchValue)
                            );
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }
                else
                {
                    v = v.OrderByDescending(m => m.CreatedDate);
                }


                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = await expertiseViews.ToListAsync()
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #15
0
        private static string IsVisibilityString(string key)
        {
            GetEmployeePermissionIfEmpty();

            Guid guid        = UserHelper.GetCurrentEmployee().Id;
            var  permissions = _employeePermissions.Where(o => o.PermissionKey == key && o.EmployeeId == guid).ToList();

            if (permissions.Any(x => x.PermissionValue == "all"))
            {
                return("all");
            }
            if (permissions.Any(x => x.PermissionValue == "department"))
            {
                return("department");
            }
            return("employee");
        }
Example #16
0
        public async Task <object> GetOutgoing(ncelsEntities db, ModelRequest request, int type)
        {
            try
            {
                var employeeId = UserHelper.GetCurrentEmployee().Id.ToString();

                //Database query
                var v = db.Documents.Where(o => o.IsDeleted == false && type == 0 ? (((o.DocumentType == 0 && o.CreatedUserId == employeeId) || (o.DocumentType == 1 && o.ExecutorsId == employeeId)))
                : (type == 1 ? o.DocumentType == 1 && o.ExecutorsId == employeeId : (o.DocumentType == 0 && o.CreatedUserId == employeeId))).AsQueryable();
                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.Number.Contains(request.SearchValue) || a.Summary.Contains(request.SearchValue)
                            );
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }


                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = await expertiseViews.Select(m => new { m.Id, m.Summary, m.Number, m.DocumentDate }).ToListAsync()
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #17
0
        public async Task <object> GetPriceRework(ncelsEntities db, ModelRequest request, int type)
        {
            try
            {
                //Database query
                var employeeId = UserHelper.GetCurrentEmployee().Id;
                var org        = UserHelper.GetCurrentEmployee();
                var v          = db.ProjectsViews.Where(m => m.Type == type && m.OwnerId == employeeId && (m.Status == 3 || m.Status == 5)).AsQueryable();
                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.Number.Contains(request.SearchValue) || a.NameRu.Contains(request.SearchValue) ||
                            a.TypeValue.Contains(request.SearchValue) || a.StausValue.Contains(request.SearchValue) ||
                            a.NameRu.Contains(request.SearchValue));
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }


                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = await expertiseViews.ToListAsync()
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #18
0
        public async Task <object> GetCurrentList(ncelsEntities db, ModelRequest request)
        {
            try {
                var employeeId = UserHelper.GetCurrentEmployee().Id;

                //Database query
                var v = db.Notifications.Where(o => o.EmployeesId == employeeId.ToString()).OrderBy(m => m.CreatedDate).AsQueryable();
                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.Note.Contains(request.SearchValue)
                            );
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }


                int recordsTotal = await v.CountAsync();

                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = expertiseViews
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #19
0
        public void SendMail(string email, string subject, string body, string documentId, string files, Guid docId, List <string> listEmail, MailAddress mailAddress = null)
        {
            Unit unit = UserHelper.GetCurrentEmployee().Organization;

            if (Config.EnableMail)
            {
                if (mailAddress == null)
                {
                    //mailAddress = new MailAddress(Config.MailSetting.SmtpReply, Config.MailSetting.SmtpUser);
                    mailAddress = new MailAddress(UserHelper.GetCurrentEmployee().Organization.Email, UserHelper.GetCurrentEmployee().Organization.Name, Encoding.UTF8);
                }
                MailMessage message = new MailMessage()
                {
                    Sender          = mailAddress,
                    Subject         = subject,
                    From            = new MailAddress(unit.Email),
                    ReplyTo         = new MailAddress(unit.Email),
                    BodyEncoding    = Encoding.UTF8,
                    Body            = body,
                    IsBodyHtml      = true,
                    SubjectEncoding = Encoding.UTF8,
                };
                string[] emails = email.Split(';');
                foreach (var em in emails)
                {
                    if (em.Trim() != string.Empty && !listEmail.Contains(em.Trim()))
                    {
                        message.To.Add(em.Trim());
                    }
                }


                if (files != null)
                {
                    string[] attach = files.Split(';');
                    foreach (string file in attach)
                    {
                        message.Attachments.Add(new Attachment(FileHelper.GetFileName(documentId, file)));
                    }
                }
                SmtpClient client = new SmtpClient {
                    Host = Config.MailSetting.SmtpServer,
                    Port = Config.MailSetting.SmtpPort,

                    UseDefaultCredentials = false,
                    EnableSsl             = Config.MailSetting.EnableSsl,
                    Credentials           =
                        new NetworkCredential(Config.MailSetting.SmtpUserName,
                                              Config.MailSetting.SmtpPassword),
                    DeliveryMethod = SmtpDeliveryMethod.Network
                };

                if (message.To.Count != 0)
                {
                    client.Send(message);
                }


                ncelsEntities db      = UserHelper.GetCn();
                DateTime      dt      = DateTime.Now;
                Guid          groupId = new Guid();
                foreach (string e in emails)
                {
                    db.Histories.Add(GetHistory(e, subject, body, files, dt, groupId, docId));
                }
                db.SaveChanges();
            }
        }
Example #20
0
        public async Task <object> GetProject(ncelsEntities db, ModelRequest request, bool isRegisterProject, int?type)
        {
            try {
                //Database query
                var employeeId = UserHelper.GetCurrentEmployee().Id;
                var org        = UserHelper.GetCurrentEmployee();
                var v          = type != null?db.ProjectsViews.Where(m => m.IsRegisterProject.Value == isRegisterProject && m.Type == type && m.OwnerId == employeeId).AsQueryable()
                                     : db.ProjectsViews.Where(m => m.IsRegisterProject.Value == isRegisterProject && m.OwnerId == employeeId).AsQueryable();

                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    v =
                        v.Where(
                            a =>
                            a.Number.Contains(request.SearchValue) || a.NameRu.Contains(request.SearchValue) ||
                            a.TypeValue.Contains(request.SearchValue) || a.StausValue.Contains(request.SearchValue) ||
                            a.NameRu.Contains(request.SearchValue));
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    // сортировка по номеру заявления
                    if (request.SortColumn == "Number")
                    {
                        if (request.SortColumnDir == "asc")
                        {
                            v =
                                v.ToList()
                                .OrderBy(
                                    x =>
                                    (!String.IsNullOrEmpty(x.Number))
                                            ? Convert.ToDouble(x.Number.Replace('.', ','))
                                            : default(double)).AsQueryable();
                        }
                        else
                        {
                            v =
                                v.ToList()
                                .OrderByDescending(
                                    x =>
                                    (!String.IsNullOrEmpty(x.Number))
                                            ? Convert.ToDouble(x.Number.Replace('.', ','))
                                            : default(double)).AsQueryable();
                        }
                    }
                    else
                    {
                        v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                    }
                }


                int recordsTotal   = v.Count();
                var expertiseViews = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = expertiseViews
                });
            }

            catch (Exception e) {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #21
0
        public static bool IsCreatorDocument(ncelsEntities db, Guid id)
        {
            var createdUserId = db.Documents.First(m => m.Id == id).CreatedUserId;

            return(Guid.Parse(createdUserId) == UserHelper.GetCurrentEmployee().Id);
        }
Example #22
0
        public async Task <object> GetOutgoing(ncelsEntities db, ModelRequest request, int type)
        {
            try
            {
                var employeeId = UserHelper.GetCurrentEmployee().Id;

                //Database query
                var v = db.VisitsViews.Where(o => o.VisitorId == employeeId).AsQueryable();
                //search
                if (!string.IsNullOrEmpty(request.SearchValue))
                {
                    //poka net poiska
                    //v =
                    //    v.Where(
                    //        a =>
                    //            a.Number.Contains(request.SearchValue) || a.Summary.Contains(request.SearchValue)
                    //            );
                }

                //sort
                if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
                {
                    //for make sort simpler we will add Syste.Linq.Dynamic reference
                    v = v.OrderBy(request.SortColumn + " " + request.SortColumnDir);
                }
                int recordsTotal = await v.CountAsync();

                var dbVisits = v.Skip(request.Skip).Take(request.PageSize);
                return
                    (new
                {
                    draw = request.Draw,
                    recordsFiltered = recordsTotal,
                    recordsTotal = recordsTotal,
                    Data = await dbVisits.Select(m =>
                                                 new
                    {
                        m.VisitId,
                        m.VisitComment,
                        m.VisitStatusId,
                        m.VisitStatusName,
                        m.VisitTypeId,
                        m.VisitTypeName,
                        m.VisitTypeGroup,
                        m.VisitDate,
                        m.VisitTimeBegin,
                        m.VisitDuration,
                        m.VisitRatingValue,
                        m.VisitRatingComment,
                        m.EmployeeId,
                        m.EmployeeLastName,
                        m.EmployeeFirstName,
                        m.EmployeeMiddleName,
                    }).ToListAsync()
                });
            }

            catch (Exception e)
            {
                return(new { IsError = true, Message = e.Message });
            }
        }
Example #23
0
        private static int GetNumber(Document document, ncelsEntities context)
        {
            IList <Setting> settings = context.Settings.Where(x => x.Type == "Counts").ToList();
            int             value;
            string          countName = string.Empty;

            switch (document.DocumentType)
            {
            case 0:
                countName = "IncCount";
                break;

            case 1:
                if (document.OutgoingType == 0)
                {
                    countName = "OutCount";
                }
                else
                {
                    countName = "AnswerOutCount";
                }
                break;

            case 2:
                //if (document.ApplicantType == 0)
                //	countName = "Cit0Count";
                //else
                countName = "CitCount";
                break;

            case 3:
                if (document.ProjectType == 3)
                {
                    countName = document.AdministrativeTypeDictionaryId.ToUpper();
                }
                else if (document.ProjectType == 6)
                {
                    countName = "PrtMainCount";
                }
                else
                {
                    countName = "PrtCount";
                }
                break;

            case 4:
                countName = "PrjCount";
                break;

            case 5:
                if (document.ApplicantType == 0)
                {
                    Guid     userId   = Guid.Parse(document.CreatedUserId);
                    Employee employee = context.Employees.Include("Position.Parent").FirstOrDefault(d => d.Id == userId);
                    if (employee?.Position?.Parent != null)
                    {
                        countName = employee.Position.Parent.Id.ToString();
                    }
                }
                if (document.ApplicantType == 1)
                {
                    countName = "MainInnerDoc";
                }
                break;

            case 6:
                countName = "ContractCount";
                break;
            }
            Guid    orgId   = UserHelper.GetCurrentEmployee().OrganizationId;
            Setting counter = settings.FirstOrDefault(x => x.UniqueName == countName && x.UserId == orgId);

            if (counter != null)
            {
                value         = int.Parse(counter.Value) + 1;
                counter.Value = value.ToString(CultureInfo.InvariantCulture);
            }
            else
            {
                Setting newCounter = new Setting {
                    Id         = Guid.NewGuid(),
                    Name       = document.DocumentType.ToString(),
                    Type       = "Counts",
                    Rank       = 0,
                    Value      = "1",
                    UniqueName = countName,
                    UserId     = orgId
                };
                context.Settings.Add(newCounter);
                value = 1;
            }
            context.SaveChanges();
            return(value);
        }