public CurrentUserResponse(JObject j)
     : base(j)
 {
     if(j["Response"] != null) {
         User = new CurrentUser(j["Response"].Value<JObject>());
     }
 }
        public DeleteMessages(CurrentUser user, int roomId)
        {
            this._user = user;
            this._roomId = roomId;
            this._client = new ChatService.ChatClient("Unisex");

            InitializeComponent();
            PopulateMyMessages();
        }
        public ChatroomOptions(CurrentUser user)
        {
            InitializeComponent();
            this._currentUser = user;
            this._client = new ChatService.ChatClient("Unisex");
            SetComponentsToCorrectState(user);
            PopulateCurrentOnlineUsersCounter();

            _timer = new Timer();
            _timer.Interval = 3000;
            _timer.Tick += RefreshCounter;
            _timer.Start();
        }
示例#4
0
        bool loadCurrentUser()
        {
            if (currentUser != null)
                throw new Exception("Current user already added");

            // nacti uzivatele
            bool loaded = true;
            OracleCommand cmd = new OracleCommand(CURRENT_USER_SELECT, conn);
            OracleDataReader odr = cmd.ExecuteReader(System.Data.CommandBehavior.SingleRow);

            if (odr.Read())
            {
                currentUser = loadUser(odr, true);
            } else
                loaded = false;

            return loaded;
        }
        private void SetComponentsToCorrectState(CurrentUser user)
        {
            labelCurrentUser.Text = _currentUser.UserName;

            if (user.Gender != "Man")
            {
                buttonJoinChatroomMen.Enabled = false;
                buttonJoinChatroomMen.BackColor = Color.LightGray;
                pictureBoxChatMan.Enabled = false;
            }
            if (user.Gender != "Woman")
            {
                buttonJoinChatroomWomen.Enabled = false;
                buttonJoinChatroomWomen.BackColor = Color.LightGray;
                pictureBoxChatWoman.Enabled = false;
            }

        }
示例#6
0
        public ChatroomMen(CurrentUser user)
        {
            try
            {
                InitializeComponent();
                textBoxChatroomMen.Text = GlobalMethods.PopulateChatWithMessages(roomID, "Man");
                _currentUser = user;

                _timer = new Timer();
                _timer.Interval = 1000;
                _timer.Tick += pictureBoxRefresh_Click;
            }
            catch (FaultException ex)
            {
                MessageBox.Show("Service error: " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Client error: " + ex.Message);
            }
        }
示例#7
0
 public int SyncFriendsToDatabase(CurrentUser currentUser, long UserId)
 {
     return SyncToDatabase(SyncToDatabaseOp.GetFriends, currentUser, UserId);
 }
示例#8
0
 public ViewResult SelectCommunity()
 {
     UserDbManager.GetInstance().CommunityListByUserLocation();
     return(View(CurrentUser.Storage()));
 }
        public async Task <IActionResult> GenerateJobs(int csId, int ssId)
        {
            try
            {
                CurrentUser cUser = new CurrentUser(HttpContext, _configuration);

                var sems = (List <AlarmEmailNotificationEntityModel>) await alarmEmailNotificationRepo.GetAlarmEmailNotificationByStatus(csId, ssId, 0, 0, "GenerateJob");

                var equipments = (List <AlarmEmailNotificationEntityModel>) await alarmEmailNotificationRepo.GetEquipmentByAlarmEmailNotificationId(csId, ssId, 0, "GenerateJob");

                if (sems != null && sems.Count > 0)
                {
                    var sem = sems[0];
                    List <JobServicesViewModel>   jsvms = null;
                    List <JobEquipmentsViewModel> jevms = null;

                    /** Deserializing the Schedule Equipement Object and Looping into Job Service Object */
                    List <AlarmEmailNotificationEquipmentsViewModel> sevms = JsonConvert.DeserializeObject <List <AlarmEmailNotificationEquipmentsViewModel> >(equipments[0].AlarmEmailNotificationEquipments);
                    if (sevms != null && sevms.Count > 0)
                    {
                        jevms = new List <JobEquipmentsViewModel>();
                        foreach (AlarmEmailNotificationEquipmentsViewModel sevm in sevms)
                        {
                            if (sevm.Active == "Y")
                            {
                                JobEquipmentsViewModel jsvm = new JobEquipmentsViewModel
                                {
                                    JobEquipmentId = 0,
                                    EquipmentId    = sevm.EquipmentId,
                                };
                                jevms.Add(jsvm);
                            }
                        }
                    }

                    foreach (DateTime StartDate in DateUtils.GetDatesBetweenRange(sem.StartDate, sem.EndDate, sem.IntervalDays))
                    {
                        //AlarmEmailNotificationEquipmentsViewModel jvm = new AlarmEmailNotificationEquipmentsViewModel
                        //{
                        //    JobId = 0,
                        //    AlarmEmailNotificationSetupId = sem.AlarmEmailNotificationSetupId,
                        //    JobName = sem.AlarmEmailNotificationName,
                        //    ClientSiteId = csId,
                        //    EstStartDate = StartDate,
                        //    EstEndDate = StartDate.AddDays(sem.EstJobDays - 1),
                        //    JobServices = jsvms,
                        //    JobEquipments = jevms,
                        //    UserId = cUser.UserId
                        //};
                        //await EmailConfigurationRepo.SaveOrUpdate(jvm);
                    }
                }
                await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Jobs", "Job Generated.");

                return(Ok());
            }
            catch (CustomException cex)
            {
                var responseObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, responseObj));
            }
            catch (Exception ex)
            {
                return(Ok(new EmaintenanceMessage(ex.Message)));
            }
        }
示例#10
0
        public override void GetTabs()
        {
            string strTopContent = "<TABLE WIDTH=100%><TR><TD CLASS=TOPHEADING WIDTH=60><IMG SRC='" + CurrentUser.VirtualImgPath() + "Icons/Opportunity.gif' BORDER=0 ALIGN=MIDDLE></td><td CLASS=VIEWBOXCAPTION><SPAN CLASS=TOPCAPTION>机会</SPAN></td></tr></table>";

            AddTopContent(strTopContent);
            GetTabs("SalesManagement", "Opportunity");
        }
        public static IQueryable <GroupParticipant> WithLimitTenant(this IQueryable <GroupParticipant> queryBase, CurrentUser user)
        {
            var tenantId    = user.GetTenantId <int>();
            var queryFilter = queryBase;

            return(queryFilter);
        }
示例#12
0
        async void CreateDocx()
        {
            int          r      = 0;
            DateTime     start  = dateStartReport.SelectedDate.Value;
            DateTime     end    = dateEndReport.SelectedDate.Value;
            var          arr    = new List <Order> [6];
            List <Order> orders = new List <Order>();
            IAdmin       admin  = new CurrentUser();

            orders = await admin.GetOrdersByStatus(3, start, end);

            arr[3] = orders;
            orders = await admin.GetOrdersByStatus(1, start, end);

            arr[1] = orders;
            orders = await admin.GetOrdersByStatus(2, start, end);

            arr[2] = orders;
            orders = await admin.GetOrdersByStatus(4, start, end);

            arr[4] = orders;
            orders = await admin.GetOrdersByStatus(5, start, end);

            arr[5] = orders;

            #region Create .Docx File
            // неведомая хрень
            object           oMissing  = Missing.Value;
            object           oEndOfDoc = "\\endofdoc";
            Word.Application app;
            Word.Document    docx;
            Word.Range       wrdRng;
            // открытие приложния
            try
            {
                app = new Word.Application
                {
                    Visible = false, // отображение хода заполнения
                };
                //object fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Отчёт о заявках от " + DateTime.Now.ToLongDateString();
                docx = app.Documents.Add();
            }
            catch (Exception ex)
            {
                logText.Foreground = Brushes.Red;
                logText.Text       = "Ошибка генерации! " + ex.Message; //исправить вывод и сделать номально увеличение текста
                //docx.Close(Word.WdSaveOptions.wdDoNotSaveChanges, Word.WdOriginalFormat.wdOriginalDocumentFormat, false);
                // app.Quit();
                return;
            }

            //изменение ориентации листа

            docx.PageSetup.Orientation  = Word.WdOrientation.wdOrientLandscape;
            docx.PageSetup.TopMargin    = 15;
            docx.PageSetup.BottomMargin = 15;
            docx.PageSetup.RightMargin  = 25;
            docx.PageSetup.LeftMargin   = 25;

            // начинаем создавать док
            Word.Paragraph para1;
            para1 = docx.Content.Paragraphs.Add(ref oMissing);
            para1.Range.Font.Name = "Times New Roman";
            para1.Range.Font.Size = 16;
            para1.Range.Text      = "Отчёт о заявках от " + DateTime.Now.ToShortDateString();
            para1.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
            para1.Range.Font.Bold = 1;
            para1.Range.InsertParagraphAfter();
            para1.CloseUp();

            //Insert a paragraph at the end of the document.
            Word.Paragraph para2;
            object         oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
            para2 = docx.Content.Paragraphs.Add(ref oRng);
            for (int i = 0; i < 6; i++)
            {
                //каждый раз после вставки нового предложения заново применяем форматирование
                para2.Range.Font.Bold   = 0;
                para2.Range.Font.Name   = "Times New Roman";
                para2.Range.Font.Size   = 14;
                para2.Format.SpaceAfter = 0;
                para2.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                if (i == 0)
                {
                    para2.Range.Text = "Выбранный диапазон с " + start.Date.ToShortDateString() + " по " + end.Date.ToShortDateString() + ".";
                }
                if (i == 1)
                {
                    para2.Range.Text = "Заявки ожидающие принятия специалистом - " + arr[1].Count + ".";
                }
                if (i == 2)
                {
                    para2.Range.Text = "Заявки в процессе выполнения - " + arr[2].Count + ".";
                }
                if (i == 3)
                {
                    para2.Range.Text = "Выполнено заявок - " + arr[3].Count + ".";
                }
                if (i == 4)
                {
                    para2.Range.Text = "Заявки, требующие ремонта или закупки - " + arr[4].Count + ".";
                }
                if (i == 5)
                {
                    para2.Range.Text = "Отменено заявок пользователями - " + arr[5].Count + ".";
                }
                para2.Range.InsertParagraphAfter();
            }
            #region Таблица выполненных заявок
            if (arr[3].Count == 0)
            {
                para2.Range.InsertParagraphAfter();
                para2.Range.Text = "Выполненные заявки - Отсутствуют.";
                para2.Range.InsertParagraphBefore();
                para2.CloseUp();
            }
            else
            {
                para2.Range.InsertParagraphAfter();
                para2.Range.Text = "Таблица 1 - Выполненные заявки.";
                para2.CloseUp();


                Word.Table oTable;
                wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                oTable = docx.Tables.Add(wrdRng, arr[3].Count + 1, 6, ref oMissing, ref oMissing);
                oTable.Range.Font.Size = 12;
                //границы таблицы
                oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Columns[1].Width         = 20;
                oTable.Columns[2].Width         = 80;
                oTable.Columns[3].Width         = 100;
                oTable.Columns[4].Width         = 100;
                oTable.Columns[6].Width         = 95;
                oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
                oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
                for (r = 1; r <= arr[3].Count + 1; r++)
                {
                    if (r == 1)
                    {
                        oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                        oTable.Cell(r, 1).Range.Text = "№";
                        oTable.Cell(r, 2).Range.Text = "Дата отправки";
                        oTable.Cell(r, 3).Range.Text = "Заявитель";
                        oTable.Cell(r, 4).Range.Text = "Исполнитель";
                        oTable.Cell(r, 5).Range.Text = "Проблема";
                        oTable.Cell(r, 6).Range.Text = "Дата подтверждения";
                        for (int tmp = 1; tmp <= 6; tmp++)
                        {
                            oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        continue;
                    }
                    oTable.Rows[r - 1].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    oTable.Cell(r, 1).Range.Text = arr[3][r - 2].Id.ToString();
                    oTable.Cell(r, 2).Range.Text = arr[3][r - 2].Date.ToString();
                    oTable.Cell(r, 3).Range.Text = arr[3][r - 2].UserName.ToString();
                    oTable.Cell(r, 4).Range.Text = arr[3][r - 2].AdminName.ToString();
                    oTable.Cell(r, 5).Range.Text = arr[3][r - 2].Problem.ToString();
                    oTable.Cell(r, 6).Range.Text = arr[3][r - 2].CompletionDate.ToString();
                }
                oTable.Rows[1].Range.Font.Bold = 1;
                oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            }
            #endregion

            #region Таблица ожидающих заявок
            //параграф (заголовок)
            if (arr[2].Count == 0)
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Заявки, в процессе выпоолнения и ожидания подтверждения - Отсутствуют.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                para.Range.InsertParagraphAfter();
            }
            else
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Таблица 2 - Заявки, в процессе выполнения и ожидания подтверждения.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;

                //сама таблица
                Word.Table oTable;
                wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                oTable = docx.Tables.Add(wrdRng, arr[2].Count + 1, 6, ref oMissing, ref oMissing);
                oTable.Range.Font.Size = 12;
                //границы таблицы
                oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Columns[1].Width         = 20;
                oTable.Columns[2].Width         = 80;
                oTable.Columns[3].Width         = 100;
                oTable.Columns[4].Width         = 100;
                oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
                oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
                for (r = 1; r <= arr[2].Count + 1; r++)
                {
                    if (r == 1)
                    {
                        oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                        oTable.Cell(r, 1).Range.Text = "№";
                        oTable.Cell(r, 2).Range.Text = "Дата отправки";
                        oTable.Cell(r, 3).Range.Text = "Заявитель";
                        oTable.Cell(r, 4).Range.Text = "Исполнитель";
                        oTable.Cell(r, 5).Range.Text = "Проблема";
                        oTable.Cell(r, 6).Range.Text = "Описание";
                        for (int tmp = 1; tmp <= 6; tmp++)
                        {
                            oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        continue;
                    }
                    oTable.Rows[r - 1].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    oTable.Cell(r, 1).Range.Text = arr[2][r - 2].Id.ToString();
                    oTable.Cell(r, 2).Range.Text = arr[2][r - 2].Date.ToString();
                    oTable.Cell(r, 3).Range.Text = arr[2][r - 2].UserName.ToString();
                    oTable.Cell(r, 4).Range.Text = arr[2][r - 2].AdminName.ToString();
                    oTable.Cell(r, 5).Range.Text = arr[2][r - 2].Problem.ToString();
                    oTable.Cell(r, 6).Range.Text = arr[2][r - 2].Description.ToString();
                }
                oTable.Rows[1].Range.Font.Bold = 1;
                oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            }
            #endregion

            #region Таблица заявок в процесе подтверждения специалистом
            //параграф (заголовок)
            if (arr[1].Count == 0)
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Заявки, в процессе подтверждения специалистом - Отсутствуют.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                para.Range.InsertParagraphAfter();
            }
            else
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Таблица 3 - Заявки, в процессе принятия специалистом.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;

                //сама таблица
                Word.Table oTable;
                wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                oTable = docx.Tables.Add(wrdRng, arr[1].Count + 1, 5, ref oMissing, ref oMissing);
                oTable.Range.Font.Size = 12;
                //границы таблицы
                oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Columns[1].Width         = 20;
                oTable.Columns[2].Width         = 80;
                oTable.Columns[3].Width         = 100;
                oTable.Columns[4].Width         = 100;
                oTable.Columns[5].Width         = 300;
                oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
                oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
                for (r = 1; r <= arr[1].Count + 1; r++)
                {
                    if (r == 1)
                    {
                        oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                        oTable.Cell(r, 1).Range.Text = "№";
                        oTable.Cell(r, 2).Range.Text = "Дата отправки";
                        oTable.Cell(r, 3).Range.Text = "Заявитель";
                        oTable.Cell(r, 4).Range.Text = "Проблема";
                        oTable.Cell(r, 5).Range.Text = "Описание";
                        for (int tmp = 1; tmp <= 5; tmp++)
                        {
                            oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        continue;
                    }
                    oTable.Rows[r - 1].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    oTable.Cell(r, 1).Range.Text = arr[1][r - 2].Id.ToString();
                    oTable.Cell(r, 2).Range.Text = arr[1][r - 2].Date.ToString();
                    oTable.Cell(r, 3).Range.Text = arr[1][r - 2].UserName.ToString();
                    oTable.Cell(r, 4).Range.Text = arr[1][r - 2].Problem.ToString();
                    oTable.Cell(r, 5).Range.Text = arr[1][r - 2].Description.ToString();
                }
                oTable.Rows[1].Range.Font.Bold = 1;
                oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            }
            #endregion

            #region Таблица заявок требующие ремонт или закупку
            //параграф (заголовок)
            if (arr[1].Count == 0)
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Заявки, требующие ремонт или закупку - Отсутствуют.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                para.Range.InsertParagraphAfter();
            }
            else
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Таблица 4 - Заявки, требующие ремонт или закупку.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                //сама таблица
                Word.Table oTable;
                wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                oTable = docx.Tables.Add(wrdRng, arr[4].Count + 1, 7, ref oMissing, ref oMissing);
                oTable.Range.Font.Size = 12;
                //границы таблицы
                oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Columns[1].Width         = 20;
                oTable.Columns[2].Width         = 80;
                oTable.Columns[3].Width         = 100;
                oTable.Columns[6].Width         = 100;
                oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
                oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
                for (r = 1; r <= arr[4].Count + 1; r++)
                {
                    if (r == 1)
                    {
                        oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                        oTable.Cell(r, 1).Range.Text = "№";
                        oTable.Cell(r, 2).Range.Text = "Дата отправки";
                        oTable.Cell(r, 3).Range.Text = "Заявитель";
                        oTable.Cell(r, 4).Range.Text = "Проблема";
                        oTable.Cell(r, 5).Range.Text = "Описание";
                        oTable.Cell(r, 6).Range.Text = "Исполнитель";
                        oTable.Cell(r, 7).Range.Text = "Комментарий";
                        for (int tmp = 1; tmp <= 7; tmp++)
                        {
                            oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        continue;
                    }
                    oTable.Rows[r - 1].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    oTable.Cell(r, 1).Range.Text = arr[4][r - 2].Id.ToString();
                    oTable.Cell(r, 2).Range.Text = arr[4][r - 2].Date.ToString();
                    oTable.Cell(r, 3).Range.Text = arr[4][r - 2].UserName.ToString();
                    oTable.Cell(r, 4).Range.Text = arr[4][r - 2].Problem.ToString();
                    oTable.Cell(r, 5).Range.Text = arr[4][r - 2].Description.ToString();
                    oTable.Cell(r, 6).Range.Text = arr[4][r - 2].AdminName.ToString();
                    oTable.Cell(r, 7).Range.Text = arr[4][r - 2].AdminComment.ToString();
                }
                oTable.Rows[1].Range.Font.Bold = 1;
                oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            }
            #endregion

            #region Таблица заявок отменённые пользователем
            //параграф (заголовок)
            if (arr[1].Count == 0)
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Заявки, отменённые пользователем - Отсутствуют.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                para.Range.InsertParagraphAfter();
            }
            else
            {
                Word.Paragraph para;
                oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                para = docx.Content.Paragraphs.Add(ref oRng);
                para.Range.InsertParagraphBefore();
                para.Range.InsertParagraphBefore();
                para.Range.Text        = "Таблица 4 - Заявки отменённые пользователем.";
                para.Range.Font.Bold   = 0;
                para.Range.Font.Name   = "Times New Roman";
                para.Range.Font.Size   = 14;
                para.Format.SpaceAfter = 0;
                para.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
                //сама таблица
                Word.Table oTable;
                wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
                oTable = docx.Tables.Add(wrdRng, arr[5].Count + 1, 5, ref oMissing, ref oMissing);
                oTable.Range.Font.Size = 12;
                //границы таблицы
                oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
                oTable.Columns[1].Width         = 20;
                oTable.Columns[2].Width         = 80;
                oTable.Columns[3].Width         = 100;
                oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
                oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
                for (r = 1; r <= arr[5].Count + 1; r++)
                {
                    if (r == 1)
                    {
                        oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                        oTable.Cell(r, 1).Range.Text = "№";
                        oTable.Cell(r, 2).Range.Text = "Дата отправки";
                        oTable.Cell(r, 3).Range.Text = "Заявитель";
                        oTable.Cell(r, 4).Range.Text = "Проблема";
                        oTable.Cell(r, 5).Range.Text = "Описание";
                        for (int tmp = 1; tmp <= 5; tmp++)
                        {
                            oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                        }
                        continue;
                    }
                    oTable.Rows[r - 1].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    oTable.Cell(r, 1).Range.Text = arr[5][r - 2].Id.ToString();
                    oTable.Cell(r, 2).Range.Text = arr[5][r - 2].Date.ToString();
                    oTable.Cell(r, 3).Range.Text = arr[5][r - 2].UserName.ToString();
                    oTable.Cell(r, 4).Range.Text = arr[5][r - 2].Problem.ToString();
                    oTable.Cell(r, 5).Range.Text = arr[5][r - 2].Description.ToString();
                }
                oTable.Rows[1].Range.Font.Bold = 1;
                oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            }
            #endregion
            //Close this form.
            try
            {
                docx.Close();
                logText.Foreground = Brushes.Green;
                logText.Text       = "Документ успешно сохранён!";
            }
            catch
            {
                docx.Close(Word.WdSaveOptions.wdDoNotSaveChanges, Word.WdOriginalFormat.wdOriginalDocumentFormat, false);
                logText.Foreground = Brushes.Gray;
                logText.Text       = "Отмена сохранения документа!";
            }
            app.Quit();
        }
 public PendenciaTipoServiceBase(IPendenciaTipoRepository rep, ICache cache, CurrentUser user)
     : base(cache)
 {
     this._rep  = rep;
     this._user = user;
 }
        public async Task <ResponseObject <bool> > AuditAsync(RequestPut <TWMSalesMainAduit> requestObject)
        {
            CurrentUser userInfo = TokenManager.GetCurentUserbyToken(Request.Headers);

            return(await _service.AuditAsync(requestObject, userInfo));
        }
示例#15
0
        //private RelayCommand doubleCommand;
        //public RelayCommand DoubleCommand
        //{
        //    get
        //    {
        //        return doubleCommand;
        //    }
        //}



        private async Task GetAllOrdres(object a)
        {
            IUser user   = new CurrentUser();
            Order order  = new Order();
            var   status = await user.CreateOrder(order);
        }
 public void Cleanup()
 {
     //Nos aseguramos que admin quede deslogeado despues de cada test.
     CurrentUser.deleteCurrentUser("*****@*****.**");
 }
示例#17
0
 private void Pass()
 {
     CurrentUser.Pass();
 }
示例#18
0
        //注册&登录
        public JsonResult RegisterLogin(string mobile, string code)
        {
            //获取推荐人
            long referrerId     = 0;
            var  cookieReferrer = Request.Cookies[Config.Cookie_ReferrerId];

            if (cookieReferrer != null)
            {
                referrerId = cookieReferrer.Value.To <long>();
            }
            else
            {//兼容 header中传相关参数的处理
                var headerReferrer = Request.Headers[Config.Cookie_ReferrerId];
                referrerId = headerReferrer.To <long>();
            }

            if (Common.IsMobile(mobile))
            {
                if (serviceSMS.VerifyCode(mobile, code))
                {
                    var modelUser = serviceUser.GetModelByMobile(mobile);
                    if (modelUser == null)//新用户
                    {
                        modelUser = new User
                        {
                            Mobile   = mobile,
                            NickName = Common.Hide(mobile, 3, 4),
                            Icon     = Config.Icon_DefaultUrl,
                            Type     = Enums.UserType.Member,
                            IsAction = true,
                            AddTime  = DateTime.Now
                        };
                        //创建帐号
                        modelUser.UserId = serviceUser.Add(modelUser);
                        //绑定推荐人
                        if (referrerId > 0)
                        {
                            serviceUser.UpdateReferrerId(modelUser.UserId, referrerId, out string mes);
                        }
                    }
                    //创建登录信息
                    var currentUser = new CurrentUser {
                        UserId = modelUser.UserId, Type = (int)modelUser.Type
                    };
                    serviceAccount.CreateLoginToken(currentUser);
                    result.code = -1;
                    if (Common.IsWeChatBrowser() && modelUser.WeChatMPOpenId.IsNullOrEmpty())
                    {
                        result.data = Config.Login_WeChat;
                    }
                    else
                    {
                        result.code = 1;
                        if (Request.Cookies.AllKeys.Contains(Config.Cookie_RedirectUrl))
                        {
                            result.data = Request.Cookies[Config.Cookie_RedirectUrl].Value;
                        }
                        else if (Request.Headers.AllKeys.Contains(Config.Cookie_RedirectUrl))
                        { //兼容 header中传相关参数的处理
                            result.data = Request.Headers[Config.Cookie_RedirectUrl];
                        }
                        else
                        {
                            result.data = "/";
                        }
                    }
                }
                else
                {
                    result.mes = "短信验证码错误";
                }
            }
            else
            {
                result.mes = "手机号格式错误";
            }
            return(Json(result));
        }
示例#19
0
        /// <summary>
        /// Retrieve the data and assign to Grid
        /// </summary>
        /// <param name="option"></param>
        /// <returns></returns>
        public HttpResponseMessage Post(DataGridoption option)
        {
            CurrentUser user = ApiUser;
            dynamic     ds   = null;

            try
            {
                if (option != null)
                {
                    switch (option.Screen)
                    {
                    case "WorkStudy":
                        ds = GetWorkStudies(option);
                        break;

                    case "AssignMaterial":
                        ds = GetAssignMaterial(option);
                        break;

                    case "UACPartList":
                        ds = GetUACPartList(option);
                        break;

                    case "RegisteredUser":
                        ds = GetRegisteredUser(option);
                        break;

                    case "ProcessingMaterial":
                        ds = GetProcessingMaterial(option);
                        break;

                    case "TestingMaterial":
                        ds = GetTestingMaterial(option);
                        break;

                    case "Tension":
                        ds = GetTensionReports(option);
                        break;

                    case "Compression":
                        ds = GetCompressionReports(option);
                        break;

                    case "OpticalMount":
                        ds = GetOpticalMountReports(option);
                        break;

                    case "Results":
                        ds = GetResults(option);
                        break;

                    default:
                        break;
                    }
                }
                return(Serializer.ReturnContent(ds, this.Configuration.Services.GetContentNegotiator(), this.Configuration.Formatters, this.Request));
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }
        }
示例#20
0
        public IHttpActionResult GetBasketCount()
        {
            CurrentUser loginModel = GetCurrentUser();

            return(Ok(GetBasketItemCount(loginModel.UserId)));
        }
示例#21
0
 public GroupParticipantApplicationServiceBase(IGroupParticipantService service, IUnitOfWork uow, ICache cache, CurrentUser user) :
     base(service, uow, cache)
 {
     base.SetTagNameCache("GroupParticipant");
     this._validatorAnnotations = new ValidatorAnnotations <GroupParticipantDto>();
     this._service = service;
     this._user    = user;
 }
示例#22
0
        protected override async Task OnInitializedAsync()
        {
            await base.OnInitializedAsync();

            _currentUser = await UserService.GetCurrentUserAsync();
        }
示例#23
0
 public CurrentUserController(CurrentUser user, ILoggerFactory logger)
 {
     this._user   = user;
     this._logger = logger.CreateLogger <CurrentUserController>();
     this._logger.LogInformation("AccountController init success");
 }
示例#24
0
 public NewsController(NewsContext context, CurrentUser loggedOnEmployee)
 {
     this.context          = context;
     this.loggedOnEmployee = loggedOnEmployee;
 }
示例#25
0
        public IHttpActionResult PostBasket(BookIdModel bookIdModel)
        {
            CurrentUser loginModel = GetCurrentUser();

            return(Ok(PostBookToBasket(bookIdModel, loginModel.UserId)));
        }
        public static IQueryable <Estoque> WithLimitSubscriber(this IQueryable <Estoque> queryBase, CurrentUser user)
        {
            var subscriberId = user.GetSubjectId <int>();
            var queryFilter  = queryBase;

            return(queryFilter);
        }
 public UsuarioApplicationServiceBase(IUsuarioService service, IUnitOfWork uow, ICache cache, CurrentUser user) :
     base(service, uow, cache)
 {
     base.SetTagNameCache("Usuario");
     this._validatorAnnotations = new ValidatorAnnotations <UsuarioDto>();
     this._service = service;
     this._user    = user;
 }
示例#28
0
        public IHttpActionResult GetBasket()
        {
            CurrentUser loginModel = GetCurrentUser();

            return(Ok(GetBooksFromBasket(loginModel.UserId)));
        }
        public ActionResult Index(LMSLogin model)
        {
            ///<summary>
            ///Perform Login checks
            ///</summary>
            LMSLogin dbUser = new LMSLogin();

            if (ModelState.IsValid)
            {
                // Checks the Current user login and password matches and check the Permission level

                bool userExists = unitofwork.LMSLoginRepository.CheckIfUserExists(model.UserName);
                if (userExists)
                {
                    dbUser = unitofwork.LMSLoginRepository.CheckPassword(model);
                    if (dbUser != null)
                    {
                        CurrentUser currentUser = new CurrentUser
                        {
                            UserId            = dbUser.UserId,
                            UserName          = dbUser.UserName,
                            FullName          = dbUser.FirstName + " " + dbUser.LastName,
                            PermissionLevel   = dbUser.PermissionLevel,
                            IsSecurityApplied = dbUser.IsSecurityApplied,
                        };

                        this.HttpContext.Session["CurrentUser"] = currentUser;

                        // add a record of User logging In.

                        LMSAudit lmsAudit = new LMSAudit();
                        lmsAudit.TransactionDate = DateTime.Now;
                        lmsAudit.UserName        = currentUser.UserName;
                        lmsAudit.FullName        = currentUser.FullName;
                        lmsAudit.Section         = "Login";
                        lmsAudit.Action          = "Logging In";
                        lmsAudit.Description     = String.Format(" User Name : {0}, Name: {1} Logged In. Permission = {2}", currentUser.UserName, currentUser.FullName, currentUser.PermissionLevel);
                        unitofwork.LMSAuditRepository.Insert(lmsAudit);
                        unitofwork.Save();

                        //saves the user login name in cookies - for Remember Me option - for 15 days
                        if (model.IsRememberMe)
                        {
                            HttpCookie cookie = new HttpCookie("LMSLogin");
                            cookie.Values.Add("UserName", currentUser.UserName);
                            //cookie.Values.Add("Password", model.Password);
                            cookie.Expires = DateTime.Now.AddDays(15);
                            Response.Cookies.Add(cookie);
                        }
                        else
                        {
                            Response.Cookies["LMSLogin"].Expires = DateTime.Now.AddDays(-1);
                            //HttpCookie cookie = new HttpCookie("LMSLogin");
                            //cookie.Values.Add("UserName", currentUser.UserName);
                            //cookie.Expires = DateTime.Now.AddDays(15);
                            //Response.Cookies.Add(cookie);
                        }
                        return(RedirectToAction("EmployeeList", "Employee"));
                    }
                    else
                    {
                        dbUser = new LMSLogin
                        {
                            UserName = model.UserName,
                            Message  = "Wrong Password."
                        };
                    }
                }
                else
                {
                    dbUser.Message = "User does not exists.";
                }
            }
            return(View(dbUser));
        }
示例#30
0
        private void cmbreports_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbreports.SelectedIndex == 1)
            {
                try
                {
                    DataTable           dtReport = new DataTable();
                    NameValueCollection PARA     = new NameValueCollection();
                    PARA.Add("@i_CompID", CurrentCompany.CompId.ToString());
                    PARA.Add("@i_UserId", CurrentUser.UserID.ToString());
                    dtReport = objList.ListOfRecord("rpt_CustomerReceipt", PARA, "CustomerPayment - Report");

                    if (objList.Exception == null)
                    {
                        if (System.IO.File.Exists(CurrentUser.ReportPath + "rptCustomerPaymentRegister.rpt"))
                        {
                            //ObjDataTable.TableName = "PaymentRegister";
                            //ObjDataTable.WriteXmlSchema(@"D:\PaymentRegister.xsd");

                            DataView DVReport;
                            DVReport           = dtReport.DefaultView;
                            DVReport.RowFilter = StrFilter;
                            CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                            rptDoc.Load(CurrentUser.ReportPath + "rptCustomerPaymentRegister.rpt");

                            CurrentUser.AddReportParameters(rptDoc, DVReport.ToTable(), "Customer Payment Register", true, true, true, true, false, true, true, false, false, false, true);

                            Reports.frmReportViewer fRptView = new Reports.frmReportViewer();
                            fRptView.Text = "Customer Payment Register - [Page Size: A4]";
                            fRptView.crViewer.ReportSource = rptDoc;
                            fRptView.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Please enter the Valid ReportPath or Docpath...");
                        }
                    }
                    else
                    {
                        MessageBox.Show(objList.Exception.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception exc)
                {
                    Utill.Common.ExceptionLogger.writeException("Customer Payment - Register Report", exc.StackTrace);
                    MessageBox.Show(Utill.Common.CommonMessage.ExceptionMessage, "Exception");
                }
            }
            else if (cmbreports.SelectedIndex == 2)
            {
                try
                {
                    DataTable           dtReport = new DataTable();
                    NameValueCollection PARA1    = new NameValueCollection();
                    PARA1.Add("@i_ReceiptID", dgvCustomerPayment.CurrentRow.Cells["ReceiptID"].Value.ToString());
                    dtReport = objList.ListOfRecord("rpt_Customer_Payment_Receipt", PARA1, "CustomerPayment - Report");
                    if (objList.Exception == null)
                    {
                        if (System.IO.File.Exists(CurrentUser.ReportPath + "rptCustomerPendingPaymentReceipt.rpt"))
                        {
                            //dtReport.TableName = "PaymentReceipt";
                            //dtReport.WriteXmlSchema(@"D:\PaymentReceipt.xsd");
                            CrystalDecisions.CrystalReports.Engine.ReportDocument rptDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                            rptDoc.Load(CurrentUser.ReportPath + "rptCustomerPendingPaymentReceipt.rpt");

                            CurrentUser.AddReportParameters(rptDoc, dtReport, "Payment Receipt", true, true, true, true, false, true, true, false, false, false, true);

                            Reports.frmReportViewer fRptView = new Reports.frmReportViewer();
                            fRptView.Text = "Payment Receipt - [Page Size: A4]";
                            fRptView.crViewer.ReportSource = rptDoc;
                            fRptView.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Please enter the Valid ReportPath or Docpath...");
                        }
                    }
                    else
                    {
                        MessageBox.Show(objList.Exception.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception exc)
                {
                    Utill.Common.ExceptionLogger.writeException("Customer Payment - Register Report", exc.StackTrace);
                    MessageBox.Show(Utill.Common.CommonMessage.ExceptionMessage, "Exception");
                }
            }
            cmbreports.SelectedIndex = 0;
        }
示例#31
0
 public ViewResult ViewJobList()
 {
     return(View("JobsList", PostDbManager.FetchPostsLinkedWithUserID(CurrentUser.Storage().UserDb.UserId)));
 }
示例#32
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (CurrentUser.RightIsAdmin || CurrentUser.HasFactoryAdminRole())
            {
                if (CurrentUser.RightCanDelete || CurrentUser.RightIsCurrentFactoryAdmin)
                {
                    buttonDelete.Visible = true;
                }
                else
                {
                    buttonDelete.Visible = false;
                }


                DataSet ds = new DataSet();

                #region 工厂数据绑定

                ds.ReadXml(Server.MapPath("..") + "\\ERPReportFactory.xml");
                dropDownListFactory.DataSource     = ds;
                dropDownListFactory.DataTextField  = "Name";
                dropDownListFactory.DataValueField = "Value";
                dropDownListFactory.DataBind();


                if (dropDownListFactory.Items.Count == 0)
                {
                    dropDownListFactory.Items.Add(new ListItem("暂无工厂", "0"));
                }
                else if (!CurrentUser.RightIsAdmin)
                {
                    for (int i = dropDownListFactory.Items.Count - 1; i >= 0; i--)
                    {
                        int tmpID = Convert.ToInt32(dropDownListFactory.Items[i].Value);
                        if (!CurrentUser.FactoryIDList.Contains(tmpID) || (CurrentUser.FactoryIDList.Contains(tmpID) && CurrentUser.UseTypeList[CurrentUser.FactoryIDList.IndexOf(tmpID)] == 0))
                        {
                            dropDownListFactory.Items.Remove(dropDownListFactory.Items[i]);
                        }
                    }
                }

                dropDownListFactory.SelectedIndex = 0;

                #endregion


                if (!string.IsNullOrEmpty(Request.QueryString["ID"]))
                {
                    labelTitle.Text = "修改查询报表";
                    int ID = Convert.ToInt32(Request.QueryString["ID"]);

                    dropDownListFactory.Enabled = false;
                    buttonCopy.Visible          = true;

                    InfoSysEntityTableAdapters.SQLReportTableAdapter sqlAdapter = new InfoSysEntityTableAdapters.SQLReportTableAdapter();

                    InfoSysEntity.SQLReportDataTable curTable = sqlAdapter.SelectByID(ID);
                    foreach (InfoSysEntity.SQLReportRow curRow in curTable.Rows)
                    {
                        textBoxReportName.Text   = curRow.SQLReportName;
                        textBoxSQLCommand.Text   = curRow.SQLReportSqlCommand;
                        textBoxSQLSQLWhere.Text  = (curRow.SQLReportSqlWhere.GetType() == typeof(DBNull)) ? "" : curRow.SQLReportSqlWhere;
                        textBoxSQLOrder.Text     = (curRow.SQLReportSqlOrder.GetType() == typeof(DBNull)) ? "" : curRow.SQLReportSqlOrder;
                        textBoxSpecialField.Text = (curRow.SQLReportSpecialField.GetType() == typeof(DBNull)) ? "" : curRow.SQLReportSpecialField;
                        textBoxShowURL.Text      = (curRow.SQLReportShowURL.GetType() == typeof(DBNull)) ? "" : curRow.SQLReportShowURL;
                        radioButtonListReportStatus.SelectedValue = curRow.SQLReportStatus.ToString();
                        dropDownListReportCate.SelectedValue      = curRow.SQLReportCate.ToString();
                        radioButtonListFucCode.SelectedValue      = curRow.SQLReportFuncCode.ToString();
                        textBoxComment.Text               = curRow.SQLReportComment;
                        textBoxCalculateField.Text        = curRow.SQLReportCalculateField;
                        dropDownListFactory.SelectedValue = curRow.SQLReportFactory.ToString();
                        textBoxSortIndex.Text             = curRow.SQLReportSortIndex.ToString();
                        checkBoxIsLimited.Checked         = curRow.SQLReportIsLimited == 1 ? true : false;

                        string strBelongsTo = curRow.SQLReportBelongsTo.ToString();
                        foreach (string str in strBelongsTo.Split(','))
                        {
                            for (int i = 0; i < checkBoxListReportCate.Items.Count; i++)
                            {
                                ListItem item = checkBoxListReportCate.Items[i];
                                if (item.Value.Equals(str))
                                {
                                    item.Selected = true;
                                }
                            }
                        }

                        break;
                    }
                }
                else
                {
                    buttonCopy.Visible = false;
                }

                departmentDatabinding();
            }
            else
            {
                FounderTecInfoSys.Common.PageGeneralAction.GoBackShowWarmingWindow("您没有权限查看此页面,开通权限请与管理员联系");
                Response.End();
            }
        }
    }
示例#33
0
 public int SyncFollowersToDatabase(CurrentUser currentUser, long UserId)
 {
     return SyncToDatabase(SyncToDatabaseOp.GetFollowers, currentUser, UserId);
 }
示例#34
0
 public TipoEmailServiceBase(TipoEmailRepository rep, ValidationContract validation, CurrentUser user, IUnitOfWork uow)
     : base(rep, uow, validation)
 {
     this._rep  = rep;
     this._user = user;
 }
示例#35
0
        public int SyncToDatabase(SyncToDatabaseOp Op, CurrentUser currentUser, long UserId)
        {
            logger.Debug("SyncFollowersToDatabase(Op: {0}, CurrentUser: {1}, UserId: {2})", (object) Op, (object) currentUser.Id, (object) UserId);

            FriendsClient friends = new FriendsClient(currentUser.Id);
            WebClientResult<FriendsList> FriendsList;

            if (Op == SyncToDatabaseOp.GetFollowers)
                FriendsList = friends.FollowerIds(UserId.ToString(), null, null);
            else
                FriendsList = friends.FriendIds(UserId.ToString(), null, null);

            using (var db = new ToketeeData().Context)
            {

                // TODO Handle deletes

                // Get the current known followers list from the DB
                // TODO find a way to create an IQueryable when specific columns are returned
                IQueryable<TwitterFriends> qFriendsInDb;
                if (Op == SyncToDatabaseOp.GetFollowers)
                {
                    qFriendsInDb = from f in db.TwitterFriends
                                   where f.FriendId == UserId
                                   select f;
                }
                else
                {
                    qFriendsInDb = from f in db.TwitterFriends
                                   where f.OwnerId == UserId
                                   select f;
                }

                logger.Trace("Known friends in DB for {0} / Count: {1}", UserId.ToString(), qFriendsInDb.Count().ToString());

                var qtest = qFriendsInDb.Where(x => x.FriendId == 13348).Count();
                // Determine which followers are not in the friend tracking table

                //ownerid

                IEnumerable<long> NewFollowers;
                IEnumerable<TwitterFriends> DeletedFollowers;
                if (Op == SyncToDatabaseOp.GetFollowers)
                {
                    // Followers are identified by the OwnerId having a FriendId of the method's UserId
                    NewFollowers = from f in FriendsList.Object
                                   where !(from a in qFriendsInDb
                                           select a.OwnerId).Contains(f)
                                   select f;

                    var tempFriendsList = FriendsList.Object.ToList();
                    DeletedFollowers = from f in qFriendsInDb
                                       where !tempFriendsList.Contains(f.OwnerId)
                                       select f;

                    //DeletedFollowers = from f in qFriendsInDb
                    //                   where !(from a in FriendsList.Object
                    //                           select a).Contains(f.OwnerId)
                    //                   select f;
                }
                else
                {
                    // Friends are identified by the FriendId having the OwnerId of the method's UserId
                    NewFollowers = from f in FriendsList.Object
                                   where !(from a in qFriendsInDb
                                           select a.FriendId).Contains(f)
                                   select f;

                    var tempFriendsList = FriendsList.Object.ToList();
                    DeletedFollowers = from f in qFriendsInDb
                                       where !tempFriendsList.Contains(f.FriendId)
                                       select f;

                    //DeletedFollowers = from f in qFriendsInDb
                    //                   where !(from a in FriendsList.Object
                    //                           select a).Contains(f.FriendId)
                    //                   select f;
                }

                logger.Trace("New followers: {0} / Unfollows: {1}", NewFollowers.Count(), DeletedFollowers.Count());

                var NewFollowersList = new List<long>();
                foreach (long Id in NewFollowers)
                {
                    var tFriends = new TwitterFriends()
                    {
                        OwnerId = (Op == SyncToDatabaseOp.GetFollowers) ? Id : UserId,
                        FriendId = (Op == SyncToDatabaseOp.GetFollowers) ? UserId : Id
                    };
                    db.TwitterFriends.Add(tFriends);
                    NewFollowersList.Add(Id);
                }

                var userOps = new UserOps(currentUser.Id);
                Users users = userOps.Lookup(NewFollowersList);

                string s = string.Join(",", FriendsList.Object.ToArray());
                var qExistingUsers = db.TwitterUser.SqlQuery("select * from TwitterUser where Id in (" + s + ");");

                // for each User in Users, find the corresponding TwitterUser to update

                // Filter out the users that do exist so we can insert the new ones

                var qDontExist = from u in users
                                 where !(from a in qExistingUsers
                                         select a.Id.ToString()).Contains(u.Id)
                                 select u;

                logger.Trace("Users to be inserted: {0}", qDontExist.Count().ToString());

                foreach (TwitterAPI.User u in qDontExist)
                {
                    if (qExistingUsers.Where(x => x.Id.ToString() == u.Id).Count() > 0)
                        logger.Error("User already exists, but shouldn't! {0}", u.Id);

                }

                TwitterUser tUser;

                foreach (TwitterAPI.User u in qDontExist.Distinct())
                {
                    tUser = new TwitterUser();
                    UserOps.UserObjToTwitterUser(u, tUser);
                    db.TwitterUser.Add(tUser);
                    logger.Trace("Inserted TwitterUser: {0}", tUser.Id);
                }

                foreach (TwitterUser tu in qExistingUsers)
                {
                    try
                    {
                        var q2 = (from u in users
                                  where u.Id == tu.Id.ToString()
                                  select u).SingleOrDefault();
                        if (q2 != null) UserOps.UserObjToTwitterUser(q2, tu);
                        logger.Trace("Updated TwitterUser: {0}", tu.Id);
                    }
                    catch (InvalidOperationException e)
                    {
                        string sError = String.Format("UserObjToTwitterUser unable to match existing user TwitterUser {0} to friends list user", tu.Id);
                        logger.ErrorException(sError, e);
                    }
                }

                // Process unfollows

                int iFriendshipsDeleted = 0;
                foreach (TwitterFriends tf in DeletedFollowers)
                {
                    logger.Trace("Deleting friendship: Owner {0} Friend {1}", tf.OwnerId, tf.FriendId);
                    db.TwitterFriends.Remove(tf);
                    iFriendshipsDeleted++;
                }
                if (iFriendshipsDeleted > 0) logger.Debug("Friendships deleted: {0}", iFriendshipsDeleted);
                return db.SaveChanges();
            }
        }
示例#36
0
 public LubyTasksHandler(LubyTasksDbContext _lubyTasksDb, CurrentUser _currentUser)
 {
     LubyTasksContext = _lubyTasksDb;
     CurrentUser      = _currentUser;
 }
        /// <summary>
        /// NeedDataSource event handler of the generic grid
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        private void GenericGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {
            try
            {
                this.MasterTableView.FilterExpression = this.IndFilterExpression;
                if (!_UseAutomaticEntityBinding && _VirtualDataSource == null)
                {
                    return;
                }
                //Clear the columns in the master table
                this.MasterTableView.Columns.Clear();

                //Add the edit column
                AddEditColumn();

                //Add the delete column (checkbox column)
                AddDeleteColumn();

                DataSet sourceDS = new DataSet();

                if (_UseAutomaticEntityBinding)
                {
                    //Instantiate the referenced object
                    IGenericEntity viewEntity = EntityFactory.GetEntityInstance(_EntityType, SessionManager.GetSessionValueNoRedirect((IndBasePage)this.Page, SessionStrings.CONNECTION_MANAGER));

                    ((GenericUserControl)this.Parent.Parent).SetViewEntityProperties(viewEntity);
                    //Get all entities in this catalogue
                    sourceDS = viewEntity.GetAll(true);

                    //Creates a new GenericEntity object with the correct instance that will be used to add the logical column
                    object connectionManager = SessionManager.GetSessionValueNoRedirect((IndBasePage)this.Page, SessionStrings.CONNECTION_MANAGER);

                    //Add the logical column
                    EntityFactory.GetEntityInstance(this.EntityType, connectionManager).CreateLogicalKeyColumn(sourceDS.Tables[0]);
                }
                else
                {
                    if (!(_VirtualDataSource is DataSet) && !(_VirtualDataSource is DataTable))
                    {
                        throw new IndException(ApplicationMessages.MessageWithParameters(ApplicationMessages.EXCEPTION_VIRTUAL_DATASOURCE_OF_TYPE_NOT_SUPPORTED, _VirtualDataSource.GetType().ToString()));
                    }
                    if (_VirtualDataSource is DataSet)
                    {
                        sourceDS = (DataSet)_VirtualDataSource;
                    }
                    if (_VirtualDataSource is DataTable)
                    {
                        sourceDS.Tables.Add((DataTable)_VirtualDataSource);
                    }
                }

                //Add the data columns (with data from the db) to the grid
                AddDataColumns(sourceDS);

                if (_UseAutomaticEntityBinding)
                {
                    CurrentUser currentUser = SessionManager.GetSessionValueRedirect((IndBasePage)this.Page, SessionStrings.CURRENT_USER) as CurrentUser;
                    if (currentUser.HasEditPermission(ApplicationConstants.MODULE_HOURLY_RATE) && _EntityType == typeof(HourlyRate))
                    {
                        AddColumnHeaderControl("Value", "&nbsp<input type=\"image\" id=\"btnMassAttr\" class=\"IndImageButton\" title=\"Mass Attribution\" src=\"Images/mass_attribution_up.gif\" onclick=\"if (ShowPopUpWithoutPostBack('UserControls/Catalogs/HourlyRate/HRMassAttribution.aspx',520,560, '" + ResolveUrl("~/Default.aspx?SessionExpired=1") + "')){ __doPostBack('" + this.Page.ClientID + "',null);}return false;\"");
                    }
                    //Hide the columns that must not be shown (like Id)
                    HideColumns();
                }


                //Bind the grid to the dataset
                this.DataSource = sourceDS;

                SetDateColumnFormatString();
            }
            catch (IndException ex)
            {
                ControlHierarchyManager.ReportError(ex);
                return;
            }
            catch (Exception ex)
            {
                ControlHierarchyManager.ReportError(new IndException(ex));
                return;
            }
        }
示例#38
0
        async void CreateDocxEvent()
        {
            DateTime start  = dateStartReportEvent.SelectedDate.Value;
            DateTime end    = dateEndReportEvent.SelectedDate.Value;
            var      events = new List <Event>();
            IAdmin   admin  = new CurrentUser();

            events = await admin.GetEventsForStatistic(start, end);

            if (events.Count == 0)
            {
                logTextEvent.Foreground = Brushes.Red;
                logTextEvent.Text       = "За выбранный промежуток времени мероприятий НЕТ!";
                return;
            }
            if (!cancelEvent.IsChecked.Value) //удаляем отменённые мероприятия если отменили
            {
                for (int i = 0; i < events.Count; ++i)
                {
                    if (events[i].IsCanceled)
                    {
                        events.Remove(events[i]);
                        --i;
                    }
                }
            }
            #region Create .Docx File for event
            // неведомая хрень
            object           oMissing  = Missing.Value;
            object           oEndOfDoc = "\\endofdoc";
            Word.Application app;
            Word.Document    docx;
            Word.Range       wrdRng;
            // открытие приложния
            try
            {
                app = new Word.Application
                {
                    Visible = false, // отображение хода заполнения
                };
                docx = app.Documents.Add();
            }
            catch (Exception ex)
            {
                logTextEvent.Foreground = Brushes.Red;
                logTextEvent.Text       = "Ошибка генерации! \n" + ex.Message;
                return;
            }
            //изменение ориентации листа
            docx.PageSetup.Orientation  = Word.WdOrientation.wdOrientLandscape;
            docx.PageSetup.TopMargin    = 15;
            docx.PageSetup.BottomMargin = 15;
            docx.PageSetup.RightMargin  = 25;
            docx.PageSetup.LeftMargin   = 25;

            // начинаем создавать док
            Word.Paragraph para1;
            para1 = docx.Content.Paragraphs.Add(ref oMissing);
            para1.Range.Font.Name = "Times New Roman";
            para1.Range.Font.Size = 16;
            para1.Range.Text      = "Отчёт о мероприятиях от " + DateTime.Now.ToShortDateString();
            para1.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
            para1.Range.Font.Bold = 1;
            para1.Range.InsertParagraphAfter();
            para1.Range.Font.Name = "Times New Roman";
            para1.Range.Font.Size = 16;
            para1.Range.Font.Bold = 0;
            if ((bool)cancelEvent.IsChecked)
            {
                para1.Range.Text = "Выбранный диапазон с " + start.Date.ToShortDateString() + " по " + end.Date.ToShortDateString() + ". (С учётом отменённых заявок)";
            }
            else
            {
                para1.Range.Text = "Выбранный диапазон с " + start.Date.ToShortDateString() + " по " + end.Date.ToShortDateString() + ".";
            }
            para1.Range.InsertParagraphAfter();
            para1.CloseUp();

            //Insert a paragraph at the end of the document.
            Word.Paragraph para2;
            object         oRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
            para2 = docx.Content.Paragraphs.Add(ref oRng);
            para2.Range.Font.Bold   = 0;
            para2.Range.Font.Name   = "Times New Roman";
            para2.Range.Font.Size   = 14;
            para2.Format.SpaceAfter = 0;
            para2.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
            para2.Range.InsertParagraphAfter();
            para2.Range.Text = "Таблица Мероприятий.";

            Word.Table oTable;
            wrdRng = docx.Bookmarks.get_Item(ref oEndOfDoc).Range;
            oTable = docx.Tables.Add(wrdRng, events.Count, 6, ref oMissing, ref oMissing);
            oTable.Range.Font.Size = 12;
            oTable.Range.Font.Bold = 0;
            //границы таблицы
            oTable.Borders.InsideLineStyle  = Word.WdLineStyle.wdLineStyleSingle;
            oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;
            oTable.Columns[1].Width         = 20;
            oTable.Columns[2].Width         = 60;
            oTable.Columns[3].Width         = 80;
            oTable.Columns[5].Width         = 150;                          // пробуем ограничить длинну
            oTable.Columns[6].Width         = 60;
            oTable.AllowAutoFit             = true;                         //выравнивание по ширине???
            oTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); // вот это точно выравнивание по ширине окна ворда
            int r = 0;

            foreach (var eve in events)
            {
                ++r;
                if (r == 1)
                {
                    oTable.Cell(r, 1).FitText    = true; //расширение при добавлении текста
                    oTable.Cell(r, 1).Range.Text = "№";
                    oTable.Cell(r, 2).Range.Text = "Дата мероприятия";
                    oTable.Cell(r, 3).Range.Text = "Заявитель";
                    oTable.Cell(r, 4).Range.Text = "Название";
                    oTable.Cell(r, 5).Range.Text = "Описание";
                    oTable.Cell(r, 6).Range.Text = "Дата заявки";
                    for (int tmp = 1; tmp <= 6; tmp++)
                    {
                        oTable.Cell(r, tmp).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    }
                    oTable.Rows[r].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                    continue;
                }

                oTable.Rows[r].Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                oTable.Cell(r, 1).Range.Text           = eve.Id.ToString();
                oTable.Cell(r, 2).Range.Text           = eve.DateStart.ToShortDateString() + "\n c " + eve.DateStart.TimeOfDay.ToString() + " по " + eve.DateEnd.TimeOfDay.ToString();
                oTable.Cell(r, 3).Range.Text           = eve.UserName.ToString();
                oTable.Cell(r, 4).Range.Text           = eve.NameEvent.ToString();
                oTable.Cell(r, 5).Range.Text           = eve.Description.ToString();
                oTable.Cell(r, 6).Range.Text           = eve.Date.ToString();
                if (eve.IsCanceled)
                {
                    oTable.Cell(r, 6).Range.Text += "Отменено";
                }
            }
            oTable.Rows[1].Range.Font.Bold = 1;
            oTable.Rows[1].Alignment       = Word.WdRowAlignment.wdAlignRowCenter;
            //Close this form.
            try
            {
                docx.Close();
                logTextEvent.Foreground = Brushes.Green;
                logTextEvent.Text       = "Документ успешно сохранён!";
            }
            catch
            {
                docx.Close(Word.WdSaveOptions.wdDoNotSaveChanges, Word.WdOriginalFormat.wdOriginalDocumentFormat, false);
                logTextEvent.Foreground = Brushes.Gray;
                logTextEvent.Text       = "Отмена сохранения документа!";
            }
            app.Quit();
        }
示例#39
0
        public ActionResult List(int filter, int?nav_page, int?rows, int?sort_field, int?sort_direction)
        {
            if (nav_page < 0)
            {
                nav_page = 0;
            }
            var rvm          = CreateViewModel <RoleListViewModel>();
            var building_ids = GetUserBuildings(_buildingRepository, _userRepository);

            IEnumerable <Role> role_list =
                _roleRepository.FindAll(
                    x =>
                    x.IsDeleted == false && x.RoleTypeId >= CurrentUser.Get().RoleTypeId&&
                    x.RoleBuildings.Any(rb => !rb.IsDeleted && building_ids.Contains(rb.BuildingId))).OrderBy(r => r.Name.ToLower());

            if (filter == 0)
            {
                role_list = role_list.Where(x => !x.Active);
            }

            if (filter == 1)
            {
                role_list = role_list.Where(x => x.Active);
            }
            if (!CurrentUser.Get().IsBuildingAdmin&& !CurrentUser.Get().IsSuperAdmin)
            {
                role_list =
                    role_list.Where(
                        x => x.Id == CurrentUser.Get().RoleId || (x.User != null && CurrentUser.Get().CompanyId == x.User.CompanyId));
            }

            IEnumerable <RoleItem> role_item_list = new List <RoleItem>();

            Mapper.Map(role_list, role_item_list);
            if (sort_field.HasValue && sort_direction.HasValue)
            {
                switch (sort_field)
                {
                case 0:
                    if (sort_direction.Value == 0)
                    {
                        role_item_list = role_item_list.OrderBy(x => x.Name.ToUpper()).ToList();
                    }
                    else
                    {
                        role_item_list = role_item_list.OrderByDescending(x => x.Name.ToUpper()).ToList();
                    }
                    break;

                case 1:
                    if (sort_direction.Value == 0)
                    {
                        role_item_list = role_item_list.OrderBy(x => x.RoleTypeId.ToString()).ToList();
                    }
                    else
                    {
                        role_item_list = role_item_list.OrderByDescending(x => x.RoleTypeId.ToString()).ToList();
                    }
                    break;

                case 2:
                    if (sort_direction.Value == 0)
                    {
                        role_item_list = role_item_list.OrderBy(x => x.Description.ToUpper()).ToList();
                    }
                    else
                    {
                        role_item_list = role_item_list.OrderByDescending(x => x.Description.ToUpper()).ToList();
                    }
                    break;

                case 3:
                    if (sort_direction.Value == 0)
                    {
                        role_item_list = role_item_list.OrderBy(x => x.BuildingsNames.ToUpper()).ToList();
                    }
                    else
                    {
                        role_item_list = role_item_list.OrderByDescending(x => x.BuildingsNames.ToUpper()).ToList();
                    }
                    break;

                default:
                    role_item_list = role_item_list.OrderBy(x => x.Name).OrderBy(x => x.Name).ToList();
                    break;
                }
            }
            else
            {
                role_item_list = role_item_list.OrderBy(x => x.Name).ToList();
            }

            rvm.Paginator = SetupPaginator(ref role_item_list, nav_page, rows);
            rvm.Paginator.DivToRefresh = "RolesSearchResult";
            rvm.Paginator.Prefix       = "Roles";
            rvm.Roles = role_item_list;
            return(PartialView(rvm));
        }
 public StockControlController(IStockItemService stockItemService, Now now, CurrentUser currentUser)
 {
     this.stockItemService = stockItemService;
     this.now = now;
     this.currentUser = currentUser;
 }