예제 #1
0
        public static ManualImportQueue GetLatestQueueElement(int channelId)
        {
            CanonDataContext  db    = Cdb.Instance;
            ManualImportQueue queue =
                db.ManualImportQueues.OrderByDescending(q => q.PostDate).FirstOrDefault(p => p.ChannelId == channelId);

            return(queue);
        }
예제 #2
0
        public static ManualImportStatusEnum GetChannelImportStatus(int channelId)
        {
            CanonDataContext  db    = Cdb.Instance;
            ManualImportQueue queue =
                db.ManualImportQueues.OrderByDescending(q => q.PostDate).FirstOrDefault(p => p.ChannelId == channelId);

            if (queue == null)
            {
                return(ManualImportStatusEnum.NotInQueue);
            }
            return((ManualImportStatusEnum)queue.Enum.EnumId);
        }
예제 #3
0
        public static void AddChannelToQueue(int userId, int channelId)
        {
            CanonDataContext db = Cdb.Instance;
            ManualImportQueue newElem = new ManualImportQueue();
            newElem.ChannelId = channelId;
            newElem.UserId = userId;
            newElem.Status = (int)ManualImportStatusEnum.WaitingInQueue;
            newElem.PostDate = DateTime.Now;
            db.ManualImportQueues.InsertOnSubmit(newElem);
            db.SubmitChanges();

            CanonManualImport.AddNewSubscriber(userId, newElem.RecordId);
        }
예제 #4
0
        protected void UpdateActualizationStatus()
        {
            ManualImportQueue miq = CanonManualImport.GetCompleteChannelByUser(SessionManager.LoggedUser.UserId);

            if (miq == null)
            {
                imgActualizationState.Visible = false;
            }
            else
            {
                imgActualizationState.Visible = true;
            }
        }
예제 #5
0
        public static void AddChannelToQueue(int userId, int channelId)
        {
            CanonDataContext  db      = Cdb.Instance;
            ManualImportQueue newElem = new ManualImportQueue();

            newElem.ChannelId = channelId;
            newElem.UserId    = userId;
            newElem.Status    = (int)ManualImportStatusEnum.WaitingInQueue;
            newElem.PostDate  = DateTime.Now;
            db.ManualImportQueues.InsertOnSubmit(newElem);
            db.SubmitChanges();

            CanonManualImport.AddNewSubscriber(userId, newElem.RecordId);
        }
예제 #6
0
 protected void clbCheckIfReady_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
 {
     if (String.Equals(e.Parameter, "CheckActualization", StringComparison.CurrentCultureIgnoreCase))
     {
         UpdateActualizationStatus();
     }
     else if (String.Equals(e.Parameter, "GoToFinished", StringComparison.CurrentCultureIgnoreCase))
     {
         ManualImportQueue miq = CanonManualImport.GetCompleteChannelByUser(SessionManager.LoggedUser.UserId);
         if (miq != null)
         {
             ASPxWebControl.RedirectOnCallback(string.Format("~/ChannelMapping.aspx?channel={0}&miq={1}",
                                                             miq.ChannelId, miq.RecordId));
         }
     }
 }
예제 #7
0
 /// <summary>
 /// Handler for general callback event (filtering, bulk mapping)
 /// </summary>
 /// <param name="source"></param>
 /// <param name="e"></param>
 protected void clbPanelMapping_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
 {
     try
     {
         if (e.Parameter == "UnMapSelected")
         {
             List <object> keyValues = gridMapping.GetSelectedFieldValues("ProductId");
             foreach (object key in keyValues)
             {
                 CanonMapping.DeleteMapping((int)this.CurrentChannel, int.Parse(key.ToString()));
             }
         }
         else if (e.Parameter == "MapSelected")
         {
             List <object> keyValues = gridMapping.GetSelectedFieldValues("ProductId");
             foreach (object key in keyValues)
             {
                 CanonMapping.AddRecommendedMapping((int)this.CurrentChannel, int.Parse(key.ToString()));
             }
         }
         else if (e.Parameter == "Search")
         {
             if (!string.IsNullOrEmpty(txtSearchParam.Text.Trim()))
             {
                 this.FilterText = txtSearchParam.Text;
             }
             this.IsFilterMode = true;
         }
         else if (e.Parameter == "ShowAll")
         {
             this.IsFilterMode = false;
             this.FilterText   = string.Empty;
         }
         else if (e.Parameter == "StateChanged")
         {
         }
         else if (e.Parameter == "DoActualization")
         {
             //Actualize button click
             btnActualize.Enabled = false;
             ManualImportStatusEnum status = CanonManualImport.GetChannelImportStatus((int)this.CurrentChannel);
             if ((status == ManualImportStatusEnum.NotInQueue) ||
                 (status == ManualImportStatusEnum.ImportComplete))
             {
                 CanonManualImport.AddChannelToQueue(SessionManager.LoggedUser.UserId,
                                                     (int)this.CurrentChannel);
                 lblActualizeMessage.Text = Utilities.GetResourceString("Common", "ActualizeMessagePostedIntoQueue");
             }
             else
             {
                 ManualImportQueue elem = CanonManualImport.GetLatestQueueElement((int)this.CurrentChannel);
                 int queueElemId        = elem.RecordId;
                 CanonManualImport.AddNewSubscriber(SessionManager.LoggedUser.UserId, queueElemId);
                 lblActualizeMessage.Text = string.Format(Utilities.GetResourceString("Common", "ActualizeMessageAlreadyInQueue"),
                                                          elem.User.FullName,
                                                          (SessionManager.CurrentShortLanguage == "En") ? elem.Enum.NameEn : elem.Enum.NameCz);
             }
             clbPanelMapping.JSProperties["cpResult"] = "OK";
         }
         else if (e.Parameter == "ExcludeSelected")
         {
             List <object> keyValues = gridMapping.GetSelectedFieldValues("ProductId");
             foreach (object key in keyValues)
             {
                 CanonMapping.AddToExceptions((int)this.CurrentChannel, int.Parse(key.ToString()));
             }
         }
         else if (e.Parameter == "IncludeSelected")
         {
             List <object> keyValues = gridMapping.GetSelectedFieldValues("ProductId");
             foreach (object key in keyValues)
             {
                 CanonMapping.RemoveFromExceptions((int)this.CurrentChannel, int.Parse(key.ToString()));
             }
         }
         else if (e.Parameter.StartsWith("LogHistory"))
         {
             string  idValue   = e.Parameter.Replace("LogHistory", "");
             int     productId = int.Parse(idValue);
             Product product   = Cdb.Instance.Products.FirstOrDefault(p => p.ProductId == productId);
             if (product != null)
             {
                 string productName = product.ProductName;
                 popupImport.HeaderText =
                     string.Format(Utilities.GetResourceString("Headers", "MappingHistoryPopupForm"), productName);
             }
             MapHistoryCtrl.Parameters = new int[] { (int)this.CurrentChannel, productId };
             MapHistoryCtrl.Bind();
         }
         this.BindData();
     }
     catch (Exception ex)
     {
         Logger.Log(string.Format("exception {0}", ex.ToString()), LogLevel.Error);
     }
 }