public void ApplyDataOperation(Order currentOrder,OrderOperation operation) { switch (operation) { case OrderOperation.open: OrdersContext.Current.Context.RegisterOpenOrder(currentOrder,OrdersContext.Current.SessionGUID); break; case OrderOperation.close: OrdersContext.Current.Context.RegisterCloseOrder(currentOrder, OrdersContext.Current.SessionGUID); break; case OrderOperation.complete: OrdersContext.Current.Context.RegisterCompleteOrder(currentOrder, OrdersContext.Current.SessionGUID); break; } if ((currentOrder.OrderIsExtend||currentOrder.OrderIsFixErrorEnter) && (currentOrder.ParentOrder != null)) { OrdersContext.Current.Context.ReloadOrder(currentOrder.ParentOrder, OrdersContext.Current.SessionGUID); } OrdersContext.Current.SubmitChangesCallbackError(); }
public static void sendMail(string header, Order order, bool isNewOrder, bool onlyAuthor, Order prevOrder = null) { if (HttpContext.Current.Request.Url.Port == 8072 || HttpContext.Current.Request.Url.Port == 8090) return; try { IQueryable users = OrdersUser.getAllUsers(); List<string> mailToList = new List<string>(); foreach (OrdersUser user in users) { if ( user.SendAllAgreeMail && order.AgreeUsers.Contains(user) && !mailToList.Contains(user.Mail) && !onlyAuthor || user.SendAllMail && !mailToList.Contains(user.Mail) || user.SendCreateMail && order.UserCreateOrderID == user.UserID && !mailToList.Contains(user.Mail) || onlyAuthor && order.UserCreateOrderID == user.UserID && !mailToList.Contains(user.Mail) || isNewOrder && (user.SendAllCreateMail || user.SendAgreeMail && order.AgreeUsers.Contains(user)) && !mailToList.Contains(user.Mail) && !onlyAuthor ) { if (user.Mails.Count > 0) { foreach (string mail in user.Mails) { if (!String.IsNullOrEmpty(mail)) { mailToList.Add(mail); } } } } } string message = OrderView.getOrderHTML(order); if (prevOrder != null) { message += "<hr/>" + OrderView.getOrderHTML(prevOrder, false); } message += String.Format("<h3><a href='{0}'>Перейти к списку заявок</a></h3>", String.Format("http://{0}:{1}", HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port)); if (mailToList.Count > 0) { //SendMailLocal("mx-votges-021.corp.gidroogk.com", 25, "", "", "", "*****@*****.**", mailToList, header, message, true); SendMailLocal(smtpServer, smtpPort, smtpUser, smtpPassword, smtpDomain, smtpFrom, mailToList, header, message, true); } } catch (Exception e) { Logger.error(String.Format("Ошибка при отправке почты: {0}", e.ToString()), Logger.LoggerSource.server); } }
public static string getOrderHTML(Order order, bool showStyle=true) { string style=showStyle?"<Style>table {border-collapse: collapse;} td{text-align:center;} td.comments{text-align:left;} td, th {border-width: 1px; border-style: solid; border-color: #BBBBFF; padding-left: 3px; padding-right: 3px;}</Style>":""; string htmlNumber = String.Format("Заявка {0} №{1} от {2}", order.OrderTypeShortName, order.OrderNumber.ToString(OrderInfo.NFI), order.OrderDateCreate.ToString("dd.MM.yy")); string htmlState=String.Format("Состояние: {0}", order.OrderStateStr); string htmlReady=String.Format("Ав.готовность: {0}", order.ReadyTime); string htmlFirstTRTable=String.Format("<table width='100%'><tr><th>{0}</th><th>{1}</th><th>{2}</th></tr></table>", htmlNumber, htmlReady, htmlState); string htmlInfoTable=String.Format("<table width='100%'><tr><th colspan='3'>Информация о заявке</th></tr><tr><th width='30%'>Оборудование</th><th width='30%'>Текст заявки</th><th width='30%'>Согласовано</th></tr><tr><td width='30%'>{0}</td><td width='30%'>{1}</td><td width='30%'>{2}</td></tr></table>", order.FullOrderObjectInfo, order.OrderText, order.AgreeText); string htmlExtend=order.OrderHasParentOrder ? "СТАРАЯ ЗАЯВКА №" + order.ParentOrderNumber.ToString(OrderInfo.NFI) : ""; string htmlExtended=order.OrderHasChildOrder ? "НОВАЯ ЗАЯВКА №" + order.ChildOrderNumber.ToString(OrderInfo.NFI) : ""; htmlExtend += order.OrderExtended ? "<br/>" + htmlExtended : ""; if (htmlExtend.Length > 0) htmlExtend += "<br/>"; string htmlDatesTable = String.Format("<table width='100%'><tr><th colspan='3'>Сроки заявки</th></tr><tr><th> </th><th>Начало</th><th>Окончание</th></tr><tr><th>План</th><td>{0}</td><td>{1}</td></tr><tr><th>Факт</th><td>{2}</td><td>{4}</td></tr><tr><th>Разрешение на ввод</th><td colspan='2'>{3}</td></tr></table>", order.PlanStartDate.ToString("dd.MM.yy HH:mm"), order.PlanStopDate.ToString("dd.MM.yy HH:mm"), order.FaktStartDate.HasValue ? order.FaktStartDate.Value.ToString("dd.MM.yy HH:mm") : " ", order.FaktStopDate.HasValue ? order.FaktStopDate.Value.ToString("dd.MM.yy HH:mm") : " ", order.FaktCompleteDate.HasValue ? order.FaktCompleteDate.Value.ToString("dd.MM.yy HH:mm") : " "); string formatTR="<tr><th>{0}</th><td>{1}</td><td>{2}</td><td>{3}</td></tr>"; string htmlCreateTR=String.Format(formatTR, "Создал", order.UserCreateOrder.FullName, order.OrderDateCreate.ToString("dd.MM.yy HH:mm"), order.CreateText); string htmlAcceptTR=order.OrderReviewed ? String.Format(formatTR, "Рассмотрел", order.UserReviewOrder.FullName, order.OrderDateReview.Value.ToString("dd.MM.yy HH:mm"), order.ReviewText) : ""; string htmlOpenTR=order.OrderOpened ? String.Format(formatTR, "Открыл", order.UserOpenOrder.FullName, order.OrderDateOpen.Value.ToString("dd.MM.yy HH:mm"), order.OpenText) : ""; string htmlCloseTR=order.OrderClosed ? String.Format(formatTR, "Разрешил ввод", order.UserCloseOrder.FullName, order.OrderDateClose.Value.ToString("dd.MM.yy HH:mm"), order.CloseText) : ""; string htmlEnterTR=order.OrderCompleted ? String.Format(formatTR, "Завершил", order.UserCompleteOrder.FullName, order.OrderDateComplete.Value.ToString("dd.MM.yy HH:mm"), order.CompleteText) : ""; string htmlCancelTR=order.OrderCanceled ? String.Format(formatTR, "Снял", order.UserCancelOrder.FullName, order.OrderDateCancel.Value.ToString("dd.MM.yy HH:mm"), order.CancelText) : ""; string htmlCommentsTR=!String.IsNullOrEmpty(order.CommentsText) ? String.Format("<tr><td colspan='4' class='comments'>{0}</td></tr>", order.CommentsText.Replace(" "," ").Replace("\n","<br/>")) : ""; string htmlOper="<tr><th> </th><th>Автор</th><th>Дата</th><th>Комментарий</th></tr>"; string htmlOperTable=String.Format("<table width='100%'><tr><th colspan='4'>Операции над заявкой</th></tr> {0}{1}{2}{3}{4}{5}{6}{7}</table>", htmlOper, htmlCreateTR, htmlAcceptTR, htmlOpenTR, htmlCloseTR, htmlEnterTR, htmlCancelTR, htmlCommentsTR); string fullTable=String.Format("<table width='100%'><tr><td colspan='2'>{0}</td></tr><tr><td colspan='2'>{1}</td></tr><tr><td>{2}</td><td>{3}</td></tr></table>", htmlFirstTRTable, htmlInfoTable, htmlExtend + htmlDatesTable, htmlOperTable); return style+fullTable; }
public void ApplyAccept(Order currentOrder,AcceptResult result) { switch (result) { case AcceptResult.accept: currentOrder.ReviewText = currentOrder.NewComment; OrdersContext.Current.Context.RegisterAcceptOrder(currentOrder, OrdersContext.Current.SessionGUID); break; case AcceptResult.ban: currentOrder.ReviewText = currentOrder.NewComment; OrdersContext.Current.Context.RegisterBanOrder(currentOrder, OrdersContext.Current.SessionGUID); break; case AcceptResult.cancel: currentOrder.CancelText = currentOrder.NewComment; OrdersContext.Current.Context.RegisterCancelOrder(currentOrder, OrdersContext.Current.SessionGUID); break; case AcceptResult.comment: OrdersContext.Current.Context.RegisterAddComment(currentOrder, currentOrder.NewComment, OrdersContext.Current.SessionGUID); break; } if ((currentOrder.OrderIsExtend || currentOrder.OrderIsFixErrorEnter) && (currentOrder.ParentOrder != null)) { OrdersContext.Current.Context.ReloadOrder(currentOrder.ParentOrder, OrdersContext.Current.SessionGUID); } OrdersContext.Current.SubmitChangesCallbackError(); }
public void RegisterEditOrder(Order order, Guid guid) { Logger.info("редактирование заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.RegisterEditOrder(order, guid); }
/// <summary> /// Вызывает метод "RegisterNew" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterNew(Order order, Guid guid) { order.RegisterNew(guid); }
public void RegisterCompleteOrder(Order order, Guid guid) { Logger.info("ввод оборудования " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.CompleteOrder(order, guid); }
public void RegisterOpenOrder(Order order, Guid guid) { Logger.info("открытие заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.OpenOrder(order, guid); }
public void RegisterBanOrder(Order order, Guid guid) { Logger.info("запрет заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.BanOrder(order, guid); }
public void RegisterChangeOrder(Order order,Guid guid) { Logger.info("изменение заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.ChangeOrder(order, guid); }
public void RegisterNew(Order order,Guid guid) { Logger.info("Создание заявки", Logger.LoggerSource.service); context.RegisterOrder(order, guid); }
/// <summary> /// Вызывает метод "RegisterRejectCompleteOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterRejectCompleteOrder(Order order, Guid guid) { order.RegisterRejectCompleteOrder(guid); }
/// <summary> /// Вызывает метод "RegisterRejectOpenOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterRejectOpenOrder(Order order, Guid guid) { order.RegisterRejectOpenOrder(guid); }
/// <summary> /// Вызывает метод "RegisterRejectCancelOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterRejectCancelOrder(Order order, Guid guid) { order.RegisterRejectCancelOrder(guid); }
/// <summary> /// Вызывает метод "RegisterRejectReviewOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterRejectReviewOrder(Order order, Guid guid) { order.RegisterRejectReviewOrder(guid); }
/// <summary> /// Вызывает метод "RegisterCloseOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterCloseOrder(Order order, Guid guid) { order.RegisterCloseOrder(guid); }
/// <summary> /// Вызывает метод "RegisterAcceptOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterAcceptOrder(Order order, Guid guid) { order.RegisterAcceptOrder(guid); }
public void RegisterAddComment(Order order, string commentText, Guid guid) { Logger.info("комментирование заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.RegisterAddComment(order, commentText, guid); }
public void ReloadOrder(Order order, Guid guid) { Logger.info("обновление заявки" + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.ReloadOrder(order); }
/// <summary> /// Вызывает метод "RegisterEditOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterEditOrder(Order order, Guid guid) { order.RegisterEditOrder(guid); }
public void UpdateOrder(Order order) { //Logger.info("Сервис: Update " + order.OrderNumber.ToString()); //context.UpdateOrder(order); }
/// <summary> /// Вызывает метод "RegisterAddComment" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="commentText">Значение параметра "commentText" для данного действия.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void RegisterAddComment(Order order, string commentText, Guid guid) { order.RegisterAddComment(commentText, guid); }
public void RegisterAcceptOrder(Order order,Guid guid) { Logger.info("разрешение заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.AcceptOrder(order, guid); }
/// <summary> /// Вызывает метод "ReloadOrder" указанной сущности <see cref="Order"/>. /// </summary> /// <param name="order">Экземпляр сущности <see cref="Order"/>.</param> /// <param name="guid">Значение параметра "guid" для данного действия.</param> public void ReloadOrder(Order order, Guid guid) { order.ReloadOrder(guid); }
public void RegisterCancelOrder(Order order, Guid guid) { Logger.info("снятие заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.CancelOrder(order, guid); }
public void RegisterRejectReviewOrder(Order order, Guid guid) { Logger.info("отмена рассмотрения заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.RejectReviewOrder(order, guid); }
public void RegisterCloseOrder(Order order, Guid guid) { Logger.info("разрешение ввода " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.CloseOrder(order, guid); }
public void RegisterRejectCompleteOrder(Order order, Guid guid) { Logger.info("отмена закрытия заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.RejectCompleteOrder(order, guid); }
public void RegisterRejectCloseOrder(Order order, Guid guid) { Logger.info("отмена разрешения на ввод заявки " + order.OrderNumber.ToString(), Logger.LoggerSource.service); context.RejectCloseOrder(order, guid); }
private bool FilterParentOrder(Order entity) { return (entity.OrderNumber == this.ParentOrderNumber); }