public void loadFromDB(string userName)
 {
     ordersUser            = OrdersUser.loadFromCache(userName);
     FullName              = ordersUser.FullName;
     AllowCreateOrder      = ordersUser.AllowCreateOrder;
     AllowCreateCrashOrder = ordersUser.AllowCreateCrashOrder;
     AllowEditTree         = ordersUser.AllowEditTree;
     AllowEditUsers        = ordersUser.AllowEditUsers;
     AllowCreateCranTask   = ordersUser.CanCreateCranTask;
     UserID = ordersUser.UserID;
 }
Exemple #2
0
        public void checkPremissions(Orders dbOrder, OrdersUser currentUser)
        {
            OrderCreated               = dbOrder.orderCreated;
            OrderReviewed              = dbOrder.orderReviewed;
            OrderOpened                = dbOrder.orderOpened;
            OrderClosed                = dbOrder.orderClosed;
            OrderCanceled              = dbOrder.orderCanceled;
            OrderCompleted             = dbOrder.orderCompleted;
            OrderCompletedWithoutEnter = dbOrder.orderCompletedWithoutEnter;
            OrderExtended              = dbOrder.orderExtended;
            OrderAskExtended           = dbOrder.orderAskExtended;
            OrderIsExtend              = dbOrder.orderIsExtend;
            OrderIsFixErrorEnter       = dbOrder.orderIsFixErrorEnter;

            OrderState = (OrderStateEnum)Enum.Parse(typeof(OrderStateEnum), dbOrder.orderState, true);
            OrderType  = (OrderTypeEnum)Enum.Parse(typeof(OrderTypeEnum), dbOrder.orderType, true);

            OrderCanceledWithoutReview = OrderCanceled && !OrderReviewed;
            OrderBanned = OrderState == OrderStateEnum.banned;

            int        creator     = dbOrder.userCreateOrderID;
            OrdersUser CreatorUser = OrdersUser.loadFromCache(creator);

            IsCurrentUser    = currentUser.UserID == creator || (CreatorUser.AddFinishLogins.ToLower() + ";").Contains(currentUser.Name.ToLower() + ";");
            AllowReviewOrder = currentUser.AllowReviewOrder && OrderState == OrderStateEnum.created;
            AllowOpenOrder   = currentUser.AllowChangeOrder && OrderState == OrderStateEnum.accepted;
            AllowCloseOrder  = (IsCurrentUser && OrderState == OrderStateEnum.opened) ||
                               currentUser.AllowChangeOrder && OrderState == OrderStateEnum.opened;
            AllowCompleteWithoutEnterOrder = currentUser.AllowChangeOrder && currentUser.AllowCreateCrashOrder && OrderState == OrderStateEnum.closed;
            AllowCompleteOrder             = currentUser.AllowChangeOrder && OrderState == OrderStateEnum.closed;
            AllowChangeOrder = (IsCurrentUser || currentUser.AllowChangeOrder) && OrderState == OrderStateEnum.created ||
                               (currentUser.AllowChangeOrder && (OrderType == OrderTypeEnum.no || OrderType == OrderTypeEnum.crash) && OrderState == OrderStateEnum.opened);
            AllowExtendOrder = (currentUser.AllowChangeOrder || currentUser.UserID == creator) && OrderState == OrderStateEnum.opened;
            AllowCancelOrder = ((IsCurrentUser || currentUser.AllowChangeOrder) &&
                                (OrderState == OrderStateEnum.created || OrderState == OrderStateEnum.accepted || orderState == OrderStateEnum.opened && OrderIsExtend)) ||
                               currentUser.AllowChangeOrder && OrderState == OrderStateEnum.opened && orderIsFixErrorEnter;


            string[] ids = dbOrder.agreeUsersIDS.Split(';');
            AllowCommentOrder = true;


            AllowRejectReviewOrder = (currentUser.AllowEditOrders || currentUser.AllowReviewOrder) &&
                                     (OrderState == OrderStateEnum.accepted || OrderState == OrderStateEnum.banned && !OrderIsExtend ||
                                      OrderState == OrderStateEnum.opened && OrderIsExtend);
            AllowRejectOpenOrder = (currentUser.AllowEditOrders || currentUser.AllowChangeOrder) && OrderState == OrderStateEnum.opened && !OrderIsExtend && !OrderIsFixErrorEnter &&
                                   !OrderExtended && !OrderAskExtended &&
                                   OrderType != OrderTypeEnum.crash && OrderType != OrderTypeEnum.no;
            AllowRejectCloseOrder    = (currentUser.AllowEditOrders || currentUser.AllowChangeOrder) && OrderState == OrderStateEnum.closed;
            AllowRejectCancelOrder   = (currentUser.AllowEditOrders || currentUser.AllowChangeOrder) && OrderState == OrderStateEnum.canceled && !OrderIsExtend && !OrderIsFixErrorEnter;
            AllowRejectCompleteOrder = (currentUser.AllowEditOrders || currentUser.AllowChangeOrder) && OrderState == OrderStateEnum.completed;
            AllowEditOrder           = currentUser.AllowEditOrders;
        }
        public static OrdersUser getCurrentUser()
        {
            string login = "******";

            if (System.Web.HttpContext.Current != null)
            {
                login = System.Web.HttpContext.Current.User.Identity.Name.ToLower();
            }
            else
            {
                login = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            }


            return(OrdersUser.loadFromCache(login));
        }
Exemple #4
0
 private void refreshAgreeUsers()
 {
     AgreeUsers     = new List <OrdersUser>();
     AgreeUsersDict = new Dictionary <int, string>();
     try {
         string[] ids = AgreeUsersIDSText.Split(';');
         foreach (string id in ids)
         {
             try {
                 OrdersUser user = OrdersUser.loadFromCache(Int32.Parse(id));
                 AgreeUsers.Add(user);
                 AgreeUsersDict.Add(user.UserID, user.FullName);
             } catch { }
         }
     } catch { }
 }
Exemple #5
0
        public void refreshOrderFromDB(Orders dbOrder, OrdersUser currentUser, bool readRelated, List <Order> listOrders)
        {
            if (listOrders != null)
            {
                if (!listOrders.Contains(this))
                {
                    listOrders.Add(this);
                }
            }

            OrderOperation = OrderOperationEnum.none;
            checkPremissions(dbOrder, currentUser);


            SelOrderObject = OrderObject.getByID(dbOrder.orderObjectID);

            OrderNumber = dbOrder.orderNumber;
            if (dbOrder.orderYearNumber.HasValue)
            {
                OrderYearNumber = dbOrder.orderYearNumber.Value;
            }
            else
            {
                OrderYearNumber = OrderNumber;
            }

            OrderType = (OrderTypeEnum)Enum.Parse(typeof(OrderTypeEnum), dbOrder.orderType, true);
            ReadyTime = dbOrder.readyTime;

            CreateText         = dbOrder.createText;
            ReviewText         = dbOrder.reviewText;
            OpenText           = dbOrder.openText;
            CloseText          = dbOrder.closeText;
            CompleteText       = dbOrder.completeText;
            CancelText         = dbOrder.cancelText;
            OrderObjectAddInfo = dbOrder.orderObjectAddInfo;

            OrderText         = dbOrder.orderText;
            AgreeText         = dbOrder.agreeText;
            AgreeUsersIDSText = dbOrder.agreeUsersIDS;
            refreshAgreeUsers();

            FaktStartDate    = dbOrder.faktStartDate;
            FaktStopDate     = dbOrder.faktStopDate;
            FaktCompleteDate = dbOrder.faktCompleteDate;
            PlanStartDate    = dbOrder.planStartDate;
            PlanStopDate     = dbOrder.planStopDate;

            OrderDateReview   = dbOrder.orderDateReview;
            OrderDateClose    = dbOrder.orderDateClose;
            OrderDateOpen     = dbOrder.orderDateOpen;
            OrderDateCreate   = dbOrder.orderDateCreate;
            OrderDateComplete = dbOrder.orderDateComplete;
            OrderDateCancel   = dbOrder.orderDateCancel;

            ExpiredReglamentHours = dbOrder.expiredReglamentHours;
            ExpiredOpenHours      = dbOrder.expiredOpenHours;
            ExpiredCompleteHours  = dbOrder.expiredCompleteHours;
            ExpiredCloseHours     = dbOrder.expiredCloseHours;

            OrderIsExpiredClose     = ExpiredCloseHours.HasValue && ExpiredCloseHours.Value < 0;
            OrderIsExpiredOpen      = ExpiredOpenHours.HasValue && ExpiredOpenHours.Value < 0;
            OrderIsExpriredComplete = ExpiredCompleteHours.HasValue && ExpiredCompleteHours.Value < 0;
            OrderIsExpiredReglament = ExpiredReglamentHours.HasValue && ExpiredReglamentHours.Value < 0;


            CommentsText = dbOrder.commentsText;
            HasComments  = !String.IsNullOrEmpty(CommentsText) || !String.IsNullOrEmpty(CreateText);


            UserCreateOrder = OrdersUser.loadFromCache(dbOrder.userCreateOrderID);

            if (dbOrder.userReviewOrderID != null)
            {
                UserReviewOrder = OrdersUser.loadFromCache(dbOrder.userReviewOrderID.Value);
            }
            if (dbOrder.userCloseOrderID != null)
            {
                UserCloseOrder = OrdersUser.loadFromCache(dbOrder.userCloseOrderID.Value);
            }
            if (dbOrder.userCancelOrderID != null)
            {
                UserCancelOrder = OrdersUser.loadFromCache(dbOrder.userCancelOrderID.Value);
            }
            if (dbOrder.userOpenOrderID != null)
            {
                UserOpenOrder = OrdersUser.loadFromCache(dbOrder.userOpenOrderID.Value);
            }
            if (dbOrder.userCompleteOrderID != null)
            {
                UserCompleteOrder = OrdersUser.loadFromCache(dbOrder.userCompleteOrderID.Value);
            }



            if (OrderExtended || OrderAskExtended || OrderCompletedWithoutEnter)
            {
                if (readRelated)
                {
                    ChildOrder = GetOrder(dbOrder.childOrderNumber.Value, currentUser, readRelated, listOrders);
                }
                else
                {
                    ChildOrderNumber = dbOrder.childOrderNumber.Value;
                }
                ChildOrderYearNumber = Math.Floor(OrderYearNumber) + ChildOrderNumber - Math.Floor(ChildOrderNumber);
            }
            else
            {
                ChildOrderNumber     = 0;
                ChildOrderYearNumber = 0;
            }


            if (OrderIsExtend || OrderIsFixErrorEnter)
            {
                if (readRelated)
                {
                    ParentOrder = GetOrder(dbOrder.parentOrderNumber.Value, currentUser, readRelated, listOrders);
                }
                else
                {
                    ParentOrderNumber = dbOrder.parentOrderNumber.Value;
                }
                ParentOrderYearNumber = Math.Floor(OrderYearNumber) + ParentOrderNumber - Math.Floor(ParentOrderNumber);
            }
            else
            {
                ParentOrderNumber     = 0;
                ParentOrderYearNumber = 0;
            }

            OrderYearNumber       = checkOrderNumber(OrderYearNumber);
            ParentOrderYearNumber = checkOrderNumber(ParentOrderYearNumber);
            ChildOrderYearNumber  = checkOrderNumber(ChildOrderYearNumber);

            if (OrderIsExtend || OrderIsFixErrorEnter)
            {
                try {
                    OrderYear = GetOrder(Math.Floor(OrderNumber), currentUser, false, null).OrderDateCreate.Year;
                } catch (Exception e) {
                    OrderYear = OrderDateCreate.Year;
                }
            }
            else
            {
                OrderYear = OrderDateCreate.Year;
            }
            OrderNumberFloor = Math.Floor(OrderNumber).ToString();
            OrderNumberExp   = Math.Round(((OrderNumber - Math.Floor(OrderNumber)) * 100)).ToString();
            if (OrderNumberExp.Length == 1)
            {
                OrderNumberExp = "0" + OrderNumberExp;
            }
            IsCurrentYear       = OrderYear == DateTime.Now.Year;
            OrderHasChildOrder  = ChildOrderNumber > 0;
            OrderHasParentOrder = ParentOrderNumber > 0;
            checkTimeToOpen();
        }