Example #1
0
        public static void sendCranTask(string header, CranTaskInfo task)
        {
            try {
                IQueryable    users      = OrdersUser.getAllUsers();
                List <string> mailToList = new List <string>();


                foreach (OrdersUser user in users)
                {
                    if (
                        (user.SendAllCranTask) ||
                        (task.SelAuthor.ToLower() == user.Name.ToLower()) ||
                        (task.TaskState == CranTaskState.created && user.SendAllCreateCranTask)
                        )
                    {
                        if (user.Mails.Count > 0)
                        {
                            foreach (string mail in user.Mails)
                            {
                                if (!String.IsNullOrEmpty(mail) && !mailToList.Contains(mail.ToLower()))
                                {
                                    mailToList.Add(mail.ToLower());
                                }
                            }
                        }
                    }
                }
                try {
                    mailToList.Add("*****@*****.**");
                } catch { }

                Attachment attach = null;

                /*try {
                 *      MemoryStream stream = new MemoryStream();
                 *      StreamWriter writer = new StreamWriter(stream);
                 *      writer.Write(CranTaskInfo.getTaskPrintHTML(task));
                 *      writer.Flush();
                 *      stream.Position = 0;
                 *
                 *      attach = new Attachment(stream, String.Format("Заявка{0}.xls", task.Number), "application/vnd.ms-excel");
                 * }
                 * catch (Exception e) {
                 *      Logger.info(e.ToString(), Logger.LoggerSource.server);
                 * }*/


                string message = CranTaskInfo.getTaskHTML(task);

                //message += String.Format("<h3><a href='{0}'>Перейти к списку заявок</a></h3>", String.Format("http://{0}:{1}/#/CransPage", HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port));

                if (mailToList.Count > 0)
                {
                    SendMailLocal(smtpServer, smtpPort, smtpUser, smtpPassword, smtpDomain, smtpFrom, mailToList, header, message, true, attach);
                }
            }
            catch (Exception e) {
                Logger.error(String.Format("Ошибка при отправке почты: {0}", e.ToString()), Logger.LoggerSource.server);
            }
        }
 public void init(CranTaskInfo task, List <String> CranUsers)
 {
     this.CranUsers          = CranUsers;
     CurrentTask             = task;
     acbCranUser.ItemsSource = CranUsers;
     pnlTask.DataContext     = CurrentTask;
 }
Example #3
0
        private void newTaskOn_Click(object sender, RoutedEventArgs e)
        {
            if (CurrentTask == null)
            {
                return;
            }
            CranTaskInfo newTask = new CranTaskInfo();

            newTask.init          = true;
            newTask.TaskAction    = CranTaskAction.create;
            newTask.canChange     = true;
            newTask.canCheck      = false;
            newTask.CranNumber    = CurrentTask.CranNumber;
            newTask.Comment       = CurrentTask.Comment;
            newTask.TaskState     = CranTaskState.created;
            newTask.NeedStartDate = CurrentTask.NeedEndDate;
            newTask.NeedEndDate   = CurrentTask.NeedEndDate.AddHours(12);
            newTask.SelAuthor     = CurrentTask.SelAuthor;
            newTask.Manager       = CurrentTask.Manager;
            newTask.StropUser     = CurrentTask.StropUser;
            CranWindow taskWindow = new CranWindow();

            taskWindow.init(newTask, Managers, StropUsers);
            taskWindow.Closed += taskWindow_Closed;
            IsOperating        = true;
            taskWindow.Show();
        }
Example #4
0
        void serie_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            LineSeries   serie = sender as LineSeries;
            CranTaskInfo task  = getTaskBySerie(serie);

            SelectTask(task);
        }
Example #5
0
 public void init(CranTaskInfo task, List <String> Managers, List <String> StropUsers)
 {
     this.Managers       = Managers;
     this.StropUsers     = StropUsers;
     CurrentTask         = task;
     pnlTask.DataContext = CurrentTask;
     //lstUsers.ItemsSource = from OrdersUser u in OrdersContext.Current.Context.OrdersUsers where u.CanAgreeCranTask select u;
     acbManager.ItemsSource       = Managers;
     acbStropUser.ItemsSource     = StropUsers;
     cmbCranName.ItemsSource      = Crans;
     cmbAuthorSelName.ItemsSource = SelUsers;
 }
Example #6
0
        public ActionResult PrintCranTasks(int year1, int month1, int day1, int year2, int month2, int day2)
        {
            Logging.Logger.info("Печать списка заявок на кран", Logging.Logger.LoggerSource.server);
            DateTime   Date1  = new DateTime(year1, month1, day1);
            DateTime   Date2  = new DateTime(year2, month2, day2);
            CranFilter filter = new CranFilter();

            filter.DateStart = Date1;
            filter.DateEnd   = Date2;
            CranFilter Result = CranTaskInfo.LoadCranTasks(filter);
            ViewResult view   = View("PrintCranTasks", Result);

            return(view);
        }
Example #7
0
        protected void Application_Start()
        {
            Logger.init(Server.MapPath("/logs/"), "orders");
            OrderObject.init();

            Order.init();
            CranTaskInfo.initTaskNumbers();
            CranTaskInfo.PathFiles = Server.MapPath("/Data/");

            AreaRegistration.RegisterAllAreas();


            Logger.info(System.Configuration.ConfigurationManager.AppSettings["smtpServer"], Logger.LoggerSource.client);
            RegisterRoutes(RouteTable.Routes);
        }
Example #8
0
        private void newTask_Click(object sender, RoutedEventArgs e)
        {
            CranTaskInfo newTask = new CranTaskInfo();

            newTask.init          = true;
            newTask.TaskAction    = CranTaskAction.create;
            newTask.canChange     = true;
            newTask.canCheck      = false;
            newTask.CranNumber    = 0;
            newTask.Comment       = "";
            newTask.TaskState     = CranTaskState.created;
            newTask.NeedStartDate = DateTime.Now.Date.AddDays(1).AddHours(8);
            newTask.NeedEndDate   = DateTime.Now.Date.AddDays(1).AddHours(12);
            newTask.SelAuthor     = WebContext.Current.User.Name;
            CranWindow taskWindow = new CranWindow();

            taskWindow.init(newTask, Managers, StropUsers);
            taskWindow.Closed += taskWindow_Closed;
            IsOperating        = true;
            taskWindow.Show();
        }
Example #9
0
        public void processSingleCran(int cranNumber, Chart CurrentChart, double cranVal)
        {
            Dictionary <DateTime, CranTaskInfo> crans = new Dictionary <DateTime, CranTaskInfo>();

            foreach (CranTaskInfo task in CurrentFilter.Data)
            {
                DateTime date = task.NeedEndDate;
                if (task.Allowed)
                {
                    date = task.AllowDateEnd;
                }
                if (task.CranNumber == cranNumber)
                {
                    while (crans.ContainsKey(date))
                    {
                        date = date.AddMilliseconds(1);
                    }
                    crans.Add(date, task);
                }
            }

            IEnumerable <KeyValuePair <DateTime, CranTaskInfo> > sorted = crans.OrderBy(task => task.Value.NeedStartDate);

            double maxCntA = 0;
            double maxCntD = 0;
            double cntA    = 0;
            double cntD    = 0;

            CranTaskInfo prevTaskA = null;
            CranTaskInfo prevTaskD = null;

            foreach (KeyValuePair <DateTime, CranTaskInfo> de in sorted)
            {
                CranTaskInfo task = de.Value;

                if (task.TaskState == CranTaskState.reviewed && task.Allowed)
                {
                    if (prevTaskA != null && task.AllowDateStart.AddMinutes(1) > prevTaskA.AllowDateEnd)
                    {
                        if (maxCntA < cntA)
                        {
                            maxCntA = cntA;
                        }
                        cntA = 0;
                    }
                    cntA++;
                    prevTaskA = task;
                }
                else if (task.Denied)
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) > prevTaskD.NeedEndDate)
                    {
                        if (maxCntD < cntD)
                        {
                            maxCntD = cntD;
                        }
                        cntD = 0;
                    }
                    cntD++;
                    prevTaskD = task;
                }
                else if (task.Cancelled)
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) > prevTaskD.NeedEndDate)
                    {
                        if (maxCntD < cntD)
                        {
                            maxCntD = cntD;
                        }
                        cntD = 0;
                    }
                    cntD++;
                    prevTaskD = task;
                }
                else if (task.Finished || task.Opened)
                {
                    if (prevTaskA != null && task.RealDateStart.AddMinutes(1) > prevTaskA.AllowDateEnd)
                    {
                        if (maxCntA < cntA)
                        {
                            maxCntA = cntA;
                        }
                        cntA = 0;
                    }
                    cntA++;
                    prevTaskA = task;
                }
                else
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) > prevTaskD.NeedEndDate)
                    {
                        if (maxCntD < cntD)
                        {
                            maxCntD = cntD;
                        }
                        cntD = 0;
                    }
                    cntD++;
                    prevTaskD = task;
                }
            }

            if (maxCntA < 2)
            {
                maxCntA = 2;
            }
            if (maxCntD < 2)
            {
                maxCntD = 2;
            }


            double stepA = 0.5 / (maxCntA + 1.5);
            double stepD = 0.5 / (maxCntD + 2.5);

            /*double stepA = 0.05;
            *  double stepD = 0.05;*/

            double diffA = 0;
            double diffD = stepD;

            prevTaskA = null;
            prevTaskD = null;

            foreach (KeyValuePair <DateTime, CranTaskInfo> de in sorted)
            {
                CranTaskInfo task  = de.Value;
                LineSeries   serie = new LineSeries();
                DataSeries <DateTime, double> Points = new DataSeries <DateTime, double>();
                serie.Name = String.Format("order_{0}", task.Number);
                serie.MouseLeftButtonUp  += serie_MouseLeftButtonUp;
                serie.LineStrokeThickness = 3;
                serie.SelectionMode       = Visiblox.Charts.SelectionMode.None;
                serie.PointShape          = Visiblox.Charts.Primitives.ShapeType.Rectangle;
                serie.PointSize           = 8;
                serie.ShowPoints          = true;

                if (task.TaskState == CranTaskState.reviewed && task.Allowed)
                {
                    if (prevTaskA != null && task.AllowDateStart.AddMinutes(1) >= prevTaskA.AllowDateEnd)
                    {
                        diffA = 0;
                    }
                    if (!task.Finished)
                    {
                        Points.Add(new DataPoint <DateTime, double>(task.AllowDateStart, cranVal + diffA));
                        Points.Add(new DataPoint <DateTime, double>(task.AllowDateEnd, cranVal + diffA));
                    }
                    else
                    {
                        Points.Add(new DataPoint <DateTime, double>(task.RealDateStart, cranVal + diffA));
                        Points.Add(new DataPoint <DateTime, double>(task.RealDateEnd, cranVal + diffA));
                    }
                    serie.LineStroke = new SolidColorBrush(!task.Finished ? Colors.Green : Colors.Blue);
                    serie.PointFill  = new SolidColorBrush(!task.Finished ? Colors.Green : Colors.Blue);
                    diffA           += stepA;
                    prevTaskA        = task;
                }
                else if (task.Denied)
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) >= prevTaskD.NeedEndDate)
                    {
                        diffD = stepD;
                    }
                    Points.Add(new DataPoint <DateTime, double>(task.NeedStartDate, cranVal - diffD));
                    Points.Add(new DataPoint <DateTime, double>(task.NeedEndDate, cranVal - diffD));

                    serie.LineStroke = new SolidColorBrush(Colors.Red);
                    serie.PointFill  = new SolidColorBrush(Colors.Red);
                    diffD           += stepD;
                    prevTaskD        = task;
                }
                else if (task.Cancelled)
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) >= prevTaskD.NeedEndDate)
                    {
                        diffD = stepD;
                    }
                    Points.Add(new DataPoint <DateTime, double>(task.NeedStartDate, cranVal - diffD));
                    Points.Add(new DataPoint <DateTime, double>(task.NeedEndDate, cranVal - diffD));

                    serie.LineStroke = new SolidColorBrush(Colors.LightGray);
                    serie.PointFill  = new SolidColorBrush(Colors.LightGray);
                    diffD           += stepD;
                    prevTaskD        = task;
                }
                else if (task.TaskState == CranTaskState.opened)
                {
                    if (prevTaskA != null && task.RealDateStart.AddMinutes(1) >= prevTaskA.AllowDateEnd)
                    {
                        diffA = 0;
                    }
                    Points.Add(new DataPoint <DateTime, double>(task.RealDateStart, cranVal + diffA));
                    Points.Add(new DataPoint <DateTime, double>(task.AllowDateEnd, cranVal + diffA));
                    serie.LineStroke = new SolidColorBrush(Colors.Orange);
                    serie.PointFill  = new SolidColorBrush(Colors.Orange);
                    diffA           += stepA;
                    prevTaskA        = task;
                }
                else if (task.TaskState == CranTaskState.finished)
                {
                    if (prevTaskA != null && task.RealDateStart.AddMinutes(1) >= prevTaskA.AllowDateEnd)
                    {
                        diffA = 0;
                    }
                    Points.Add(new DataPoint <DateTime, double>(task.RealDateStart, cranVal + diffA));
                    Points.Add(new DataPoint <DateTime, double>(task.RealDateEnd, cranVal + diffA));
                    serie.LineStroke = new SolidColorBrush(Colors.Blue);
                    serie.PointFill  = new SolidColorBrush(Colors.Blue);
                    diffA           += stepA;
                    prevTaskA        = task;
                }
                else
                {
                    if (prevTaskD != null && task.NeedStartDate.AddMinutes(1) >= prevTaskD.NeedEndDate)
                    {
                        diffD = stepD;
                    }
                    Points.Add(new DataPoint <DateTime, double>(task.NeedStartDate, cranVal - diffD));
                    Points.Add(new DataPoint <DateTime, double>(task.NeedEndDate, cranVal - diffD));

                    serie.LineStroke = new SolidColorBrush(Colors.Gray);
                    serie.PointFill  = new SolidColorBrush(Colors.Gray);
                    diffD           += stepD;
                    prevTaskD        = task;
                }

                serie.DataSeries = Points;
                CurrentChart.Series.Add(serie);
            }
        }
Example #10
0
		private void SelectTask(CranTaskInfo task) {
			CurrentTask = task;
			if (task == null)
				return;
			if (CurrentTask != null) {
				pnlTask.DataContext = CurrentTask;
			}
			Chart CurrentChart = null;

			switch (task.CranNumber){
				case 1:
				case 2:
					CurrentChart = ChartMZ;
					tCntrl.SelectedIndex = 0;
					break;
				case 3:
				case 4:
					CurrentChart = ChartSUS;
					tCntrl.SelectedIndex = 1;
					break;
				case 5:
				case 6:
					CurrentChart = ChartNBVB;
					tCntrl.SelectedIndex = 2;
					break;
				case 7:
				case 8:
					CurrentChart = ChartTransVSP;
					tCntrl.SelectedIndex = 3;
					break;
				case 9:
					CurrentChart = ChartPromPlosh;
					tCntrl.SelectedIndex = 4;
					break;
				default:
					return;
			}
			
			try {
				if (grdTasks.SelectedItem != task)
					grdTasks.SelectedItem = task;
				foreach (LineSeries serie in CurrentChart.Series) {
					try {
						if (serie.Name == String.Format("order_{0}", task.Number)) {
							serie.LineStrokeThickness = 10;							
						}
						else {
							int num = getTaskNumber(serie.Name);
							serie.LineStrokeThickness = 5;
						}
					}
					catch { }
				}
			}
			catch { }
		}
 public ReturnMessage FinishCranTask(CranTaskInfo task)
 {
     return(CranTaskInfo.CreateCranTask(task));
 }
 public ReturnMessage CancelCranTask(CranTaskInfo task)
 {
     return(CranTaskInfo.CreateCranTask(task));
 }
 public ReturnMessage CommentCranTask(CranTaskInfo task, string comment)
 {
     return(CranTaskInfo.AddComment(task, comment));
 }
 public CranFilter getCranTasks(CranFilter Filter)
 {
     return(CranTaskInfo.LoadCranTasks(Filter));
 }
		public void init(CranTaskInfo task) {
			CurrentTask = task;
			pnlTask.DataContext = CurrentTask;
		}
Example #16
0
        private void SelectTask(CranTaskInfo task)
        {
            CurrentTask = task;
            if (task == null)
            {
                return;
            }
            if (CurrentTask != null)
            {
                pnlTask.DataContext = CurrentTask;
            }
            Chart CurrentChart = null;

            switch (task.CranNumber)
            {
            case 1:
            case 2:
                CurrentChart         = ChartMZ;
                tCntrl.SelectedIndex = 0;
                break;

            case 3:
            case 4:
                CurrentChart         = ChartSUS;
                tCntrl.SelectedIndex = 1;
                break;

            case 5:
            case 6:
                CurrentChart         = ChartNBVB;
                tCntrl.SelectedIndex = 2;
                break;

            case 7:
            case 8:
                CurrentChart         = ChartTransVSP;
                tCntrl.SelectedIndex = 3;
                break;

            case 9:
                CurrentChart         = ChartPromPlosh;
                tCntrl.SelectedIndex = 4;
                break;

            default:
                return;
            }

            try {
                if (grdTasks.SelectedItem != task)
                {
                    grdTasks.SelectedItem = task;
                }
                try {
                    grdTasks.ScrollIntoView(task, grdTasks.Columns[0]);
                } catch { }
                foreach (LineSeries serie in CurrentChart.Series)
                {
                    if (serie.Name == String.Format("order_{0}", task.Number))
                    {
                        serie.LineStrokeThickness = 5;
                    }
                    else
                    {
                        if (serie.Name.Contains("order_"))
                        {
                            int num = getTaskNumber(serie.Name);
                            if (serie.LineStrokeThickness != 3)
                            {
                                serie.LineStrokeThickness = 3;
                            }
                        }
                    }
                }
            } catch { }
        }
Example #17
0
		private void newTask_Click(object sender, RoutedEventArgs e) {
			CranTaskInfo newTask  = new CranTaskInfo();
			newTask.init = true;
			newTask.canChange = true;
			newTask.canCheck = false;
			newTask.CranNumber = 0;
			newTask.Comment = "";
			newTask.NeedStartDate = DateTime.Now.Date.AddDays(1);
			newTask.NeedEndDate = DateTime.Now.Date.AddDays(2);
			CranWindow taskWindow = new CranWindow();
			taskWindow.init(newTask,Managers);
			taskWindow.Closed += taskWindow_Closed;
			taskWindow.Show();
		}