public void AddInvoice(IInvoice invoice)
        {
            InvoiceMaster master = new InvoiceMaster
            {
                InvoiceId   = invoice.InvoiceId,
                InvoiceName = invoice.InvoiceName,
                IsActive    = invoice.IsActive
            };

            _invoiceDbContext.InvoiceMaster.Add(master);

            foreach (var rule in invoice.Rules)
            {
                var rd = new RuleDetails
                {
                    RuleValue   = rule.RuleValue,
                    InvoiceId   = master.InvoiceId,
                    ParameterId = rule.ParameterId,
                    IsActive    = rule.IsActive
                };

                _invoiceDbContext.RuleDetails.Add(rd);
            }

            _invoiceDbContext.SaveChanges();
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                CustomList <SECURITY.DAO.SecurityRule> lstSecurityRule = SecurityRuleList;
                if (lstSecurityRule.Count == 0)
                {
                    SECURITY.DAO.SecurityRule newSecurityRule = new SECURITY.DAO.SecurityRule();
                    lstSecurityRule.Add(newSecurityRule);
                }

                SetDataControlsToSecurityRuleObject(ref lstSecurityRule);
                CustomList <SECURITY.DAO.Menu> AllMenu      = (CustomList <SECURITY.DAO.Menu>)Session["SecurityRule_MenuList"];
                CustomList <SECURITY.DAO.Menu> selectedMenu = AllMenu.FindAll(f => f.CanSelect || f.CanInsert || f.CanUpdate || f.CanDelete);
                objSecurityRuleDetailList = new CustomList <RuleDetails>();
                foreach (SECURITY.DAO.Menu m in selectedMenu)
                {
                    RuleDetails obj = new RuleDetails();
                    obj.ApplicationID = m.ApplicationID;
                    obj.ObjectID      = m.MenuID;
                    obj.ObjectType    = "menu";
                    obj.CanSelect     = m.CanSelect;
                    obj.CanInsert     = m.CanInsert;
                    obj.CanUpdate     = m.CanUpdate;
                    obj.CanDelete     = m.CanDelete;
                    objSecurityRuleDetailList.Add(obj);
                }
                //objSecurityRuleDetailList = SecurityRuleDetailList;
                if (!CheckUserAuthentication(lstSecurityRule, objSecurityRuleDetailList))
                {
                    return;
                }
                if (lstSecurityRule.IsNotNull())
                {
                    #region Delete
                    CustomList <RuleDetails> securityRuleObject = manager.GetAllSecurityRule_ObjectWithSecurityRule(lstSecurityRule[0].SecurityRuleCode);
                    if (securityRuleObject.Count != 0)
                    {
                        foreach (RuleDetails obj in securityRuleObject)
                        {
                            obj.Delete();
                        }
                        manager.TempSecurityRule_ObjectDelete(ref securityRuleObject);
                    }
                    #endregion

                    manager.SaveSecurityRule(ref lstSecurityRule, ref objSecurityRuleDetailList);
                    txtSecurityRuleCode.Text = manager.SecurityRuleInfoID;
                    this.SuccessMessage      = (StaticInfo.SavedSuccessfullyMsg);
                }
            }
            catch (SqlException ex)
            {
                this.ErrorMessage = (ExceptionHelper.getSqlExceptionMessage(ex));
            }
            catch (Exception ex)
            {
                this.ErrorMessage = (ExceptionHelper.getExceptionMessage(ex));
            }
        }
Exemple #3
0
        private RuleDetails GetRuleDetailsFromToken(string shareToken)
        {
            RuleDetails ruleDetails = null;

            try
            {
                System.Threading.Tasks.Task <RuleDetails> ruleTask = System.Threading.Tasks.Task.Run(new Func <RuleDetails>(() =>
                {
                    //return WebService.RemoteRuleService.GetRemoteRuleAsync(watermakTextBox_ruleToken.Text).GetAwaiter().GetResult();
                    return(shareRuleService.GetShareRuleDetailAsync(shareToken).GetAwaiter().GetResult());
                }));
                ruleDetails = ruleTask.GetAwaiter().GetResult();
                if (ruleDetails == null)
                {
                    MessageBox.Show("your rule token is not permitted", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
                else if (ruleDetails.ModificHttpRuleCollection == null || ((ruleDetails.ModificHttpRuleCollection.RequestRuleList == null || ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count == 0) && (ruleDetails.ModificHttpRuleCollection.ResponseRuleList == null || ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count == 0)))
                {
                    MessageBox.Show("can not find any rule in your storage spaces", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    ruleDetails = null;
                }
            }
            catch (Exception ex)
            {
                _           = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.RemoteRule, RemoteLogService.RemoteLogType.Error);
                ruleDetails = null;
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(ruleDetails);
        }
Exemple #4
0
        // function to add invoice and corresponding rules to database
        public void AddInvoice(InvoicePostModel invoicePostModel)
        {
            //get invoice details from InvoicePostModel and save to database
            InvoiceMaster invoiceMaster = new InvoiceMaster()
            {
                invoiceName = invoicePostModel.invoiceName,
                //convert boolean isActive in InvoicePostModel to byte isActive for InvoiceMaster
                isActive = invoicePostModel.isActive ? Convert.ToByte(1) : Convert.ToByte(0)
            };

            tariffContext.InvoiceMaster.Add(invoiceMaster);

            //get each rule from InvoicePostModel and save to database with invoiceId from above saved invoice
            foreach (Rule rule in invoicePostModel.ruleList)
            {
                RuleDetails ruleDetails = new RuleDetails()
                {
                    invoiceId   = invoiceMaster.invoiceId,
                    parameterId = Convert.ToInt32(rule.parameterId),
                    ruleValue   = rule.ruleValue,
                    //convert boolean isActive in InvoicePostModel for each rule to byte isActive for RuleDetails
                    isActive = rule.isActive ? Convert.ToByte(1) : Convert.ToByte(0)
                };
                tariffContext.RuleDetails.Add(ruleDetails);
            }
            tariffContext.SaveChanges();
        }
Exemple #5
0
 public IActionResult PostRuleDetails([FromBody] RuleDetails ruleDetails)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     tariffService.AddRule(ruleDetails);
     return(Ok());
 }
Exemple #6
0
        private IEnumerable <IpTablesRule> ParseAll(RuleBuilder rb, RuleDetails c)
        {
            var rule = c.Rule;

            if (rule.Contains("{"))
            {
                foreach (var v in c.Versions)
                {
                    var rules = _ruleSets[v];

                    foreach (var t in c.Tables)
                    {
                        IpTablesRule.ChainCreateMode chainMode = IpTablesRule.ChainCreateMode.DontCreateErrorInstead;
                        rule = c.Rule;
                        string formattedRule;
                        lock (_dynamicLock)
                        {
                            formattedRule = rb.Format(rule, t, v);
                        }
                        if (formattedRule != rule)
                        {
                            rule      = formattedRule;
                            chainMode = IpTablesRule.ChainCreateMode.ReturnNewChain;
                        }

                        yield return(IpTablesRule.Parse(rule, _iptables, rules.Chains, v, t, chainMode));
                    }
                }
            }
            else
            {
                IpTablesRule ruleTemplate = null;

                foreach (var v in c.Versions)
                {
                    var chains = _ruleSets[v].Chains;
                    foreach (var t in c.Tables)
                    {
                        if (ruleTemplate == null)
                        {
                            ruleTemplate = IpTablesRule.Parse(rule, _iptables, chains, v, t,
                                                              IpTablesRule.ChainCreateMode.DontCreateErrorInstead);
                            yield return(ruleTemplate);
                        }
                        else
                        {
                            //TODO: IPTables Rule clone
                            var theRule = new IpTablesRule(ruleTemplate);
                            theRule.Chain = chains.GetChainOrDefault(ruleTemplate.Chain.Name, t);
                            yield return(theRule);
                        }
                    }
                }
            }
        }
        //ANCHOR Creates a new rule for a Challenge.
        internal int CreateNewRule(RuleDetails newRule)
        {
            string sql = @"
            INSERT INTO rules
            (challengeId, creatorId, title, description, minPoint, maxPoint, weekly)
            VALUES
            (@ChallengeId, @CreatorId, @Title, @Description, @MinPoint, @MaxPoint, @Weekly);
            SELECT LAST_INSERT_ID();";

            return(_db.ExecuteScalar <int>(sql, newRule));
        }
Exemple #8
0
 private void ClearRemoteRule()
 {
     if (myListViewCBallon != null)
     {
         myListViewCBallon.Close();
     }
     lv_remote_requestRuleList.Items.Clear();
     lv_remote_responseRuleList.Items.Clear();
     lb_info_2.Text = "";
     nowRuleDetails = null;
 }
Exemple #9
0
        // function to edit rule details
        public void EditRule(int id, RuleDetails ruleDetails)
        {
            tariffContext.Entry(ruleDetails).State = EntityState.Modified;

            try
            {
                tariffContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }
        }
        //ANCHOR Creates a new base challenge
        internal RuleDetails Create(Profile user, RuleDetails newRule)
        {
            Challenge challenge = _cRepo.GetById(newRule.ChallengeId);

            if (challenge.Joinable == true || challenge.HasStarted == true)
            {
                throw new Exception("This Challenge has already been finalized");
            }
            if (user.Id != challenge.CreatorId)
            {
                throw new Exception("This Is Not Yours");
            }
            newRule.Id = _repo.CreateNewRule(newRule);
            return(newRule);
        }
        public async Task <ActionResult <RuleDetails> > Create([FromBody] RuleDetails newRule)
        {
            try
            {
                Profile userInfo = await HttpContext.GetUserInfoAsync <Profile>();

                newRule.CreatorId = userInfo.Id;
                newRule.Creator   = userInfo;
                RuleDetails rule = _rds.Create(userInfo, newRule);
                return(Ok(newRule));
            }
            catch (System.Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemple #12
0
        private void GetRemoteRuleWindow_Load(object sender, EventArgs e)
        {
            watermakTextBox_ruleToken.AutoCompleteMode   = AutoCompleteMode.SuggestAppend;
            watermakTextBox_ruleToken.AutoCompleteSource = AutoCompleteSource.CustomSource;

            lv_requestRuleOriginLocation = lv_remote_requestRuleList.Location;
            lv_requestRuleOriginHeight   = lv_remote_requestRuleList.Height;
            localRuleDetails             = new RuleDetails()
            {
                ModificHttpRuleCollection = mainWindow.ModificHttpRuleCollection, StaticDataCollection = mainWindow.StaticDataCollection
            };
            ShowInfoChange(nowShowType);
            shareRuleService = new ShareRuleService(WebService.UserComputerInfo.GetFreeHttpUser());
            //_ = shareRuleService.GetShareRuleSummaryAsync();
            shareRuleService.GetShareRuleSummaryAsync().ContinueWith((rs) => LoadShareRuleSummary(rs.Result));
        }
Exemple #13
0
        public IActionResult EditRuleDetails([FromRoute] int id, [FromBody] RuleDetails ruleDetails)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != ruleDetails.ruleId)
            {
                return(BadRequest());
            }

            tariffService.EditRule(id, ruleDetails);

            return(NoContent());
        }
Exemple #14
0
 private void LoadRules(RuleDetails ruleDetails)
 {
     if (ruleDetails == null || (ruleDetails.ModificHttpRuleCollection?.RequestRuleList?.Count < 1 && ruleDetails.ModificHttpRuleCollection?.ResponseRuleList?.Count < 1))
     {
         lb_info_2.Text = "your local rule is empty";
         return;
     }
     foreach (var tempRule in ruleDetails.ModificHttpRuleCollection?.RequestRuleList ?? new List <FiddlerRequestChange>())
     {
         AddRuleToListView(lv_remote_requestRuleList, tempRule);
     }
     foreach (var tempRule in ruleDetails.ModificHttpRuleCollection?.ResponseRuleList ?? new List <FiddlerResponseChange>())
     {
         AddRuleToListView(lv_remote_responseRuleList, tempRule);
     }
     lb_info_2.Text = string.Format("Get RequestRule:{0} ; ResponseRule:{1} ; StaticData:{2}", ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count, ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count, ruleDetails.StaticDataCollection?.Count ?? 0);
     nowRuleDetails = ruleDetails;
 }
Exemple #15
0
 private void bt_getRule_Click(object sender, EventArgs e)
 {
     try
     {
         if (string.IsNullOrEmpty(watermakTextBox_ruleToken.Text))
         {
             MessageBox.Show("just input your rule token", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
             return;
         }
         ClearRemoteRule();
         System.Threading.Tasks.Task <RuleDetails> ruleTask = System.Threading.Tasks.Task.Run(new Func <RuleDetails>(() =>
         {
             //6077f8fa617545cb9fbf12b1c874f7ee
             return(WebService.RemoteRuleService.GetRemoteRuleAsync(watermakTextBox_ruleToken.Text).GetAwaiter().GetResult());
         }));
         RuleDetails ruleDetails = ruleTask.GetAwaiter().GetResult();
         if (ruleDetails == null)
         {
             MessageBox.Show("your rule token is not permitted", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
             return;
         }
         if (ruleDetails.ModificHttpRuleCollection == null || ((ruleDetails.ModificHttpRuleCollection.RequestRuleList == null || ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count == 0) && (ruleDetails.ModificHttpRuleCollection.ResponseRuleList == null || ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count == 0)))
         {
             MessageBox.Show("can not find any rule in your storage spaces", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
             return;
         }
         //this.Height = 560;
         foreach (var tempRule in ruleDetails.ModificHttpRuleCollection.RequestRuleList)
         {
             GetRemoteRuleWindowAddRuleToListView(lv_remote_requestRuleList, tempRule);
         }
         foreach (var tempRule in ruleDetails.ModificHttpRuleCollection.ResponseRuleList)
         {
             GetRemoteRuleWindowAddRuleToListView(lv_remote_responseRuleList, tempRule);
         }
         lb_info_2.Text = string.Format("Get RequestRule:{0} ; ResponseRule:{1} ; StaticData:{2}", ruleDetails.ModificHttpRuleCollection.RequestRuleList.Count, ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Count, ruleDetails.StaticDataCollection?.Count ?? 0);
         nowRuleDetails = ruleDetails;
     }
     catch (Exception ex)
     {
         _ = RemoteLogService.ReportLogAsync(ex.ToString(), RemoteLogService.RemoteLogOperation.RemoteRule, RemoteLogService.RemoteLogType.Error);
         MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Exemple #16
0
        private void lv_shareRuleList_DoubleClick(object sender, EventArgs e)
        {
            ListViewItem tempListViewItem = lv_shareRuleList.SelectedItems[0];

            loadWindowService.StartLoad(this, true);
            RuleDetails ruleDetails = GetRuleDetailsFromToken(tempListViewItem.SubItems[0].Text);

            loadWindowService.StopLoad();
            if (ruleDetails == null)
            {
                MessageBox.Show("get share taken fail", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);
                return;
            }

            ClearRemoteRule();
            ClearShowShareTakenItemBackColor();
            MyHelper.MyGlobalHelper.markControlService.SetColor(tempListViewItem, Color.Pink);
            nowShowShareTakenListViewItem = tempListViewItem;
            LoadRules(ruleDetails);
        }
Exemple #17
0
        private void bt_getRule_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(watermakTextBox_ruleToken.Text))
            {
                MessageBox.Show("just input your rule token", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);
                return;
            }
            string shareToken = watermakTextBox_ruleToken.Text.Contains('[') ? watermakTextBox_ruleToken.Text.Substring(0, watermakTextBox_ruleToken.Text.IndexOf('[')).Trim() : watermakTextBox_ruleToken.Text.Trim();

            ClearRemoteRule();
            loadWindowService.StartLoad(this, true);
            RuleDetails ruleDetails = GetRuleDetailsFromToken(shareToken);

            loadWindowService.StopLoad();
            if (ruleDetails == null)
            {
                MyHelper.MyGlobalHelper.markControlService.MarkControl(watermakTextBox_ruleToken, System.Drawing.Color.Pink, 2);
                return;
            }
            LoadRules(ruleDetails);
        }
Exemple #18
0
 public void AddRule(RuleDetails ruleDetails)
 {
     tariffContext.RuleDetails.Add(ruleDetails);
     tariffContext.SaveChanges();
 }
 public CustomList <RuleDetails> GetAllSecurityRule_ObjectWithSecurityRule(string securityRuleCode)
 {
     return(RuleDetails.GetAllSecurityRule_ObjectWithSecurityRule(securityRuleCode));
 }
Exemple #20
0
 public IHttpActionResult Detail(RuleDetails vm)
 {
     return(Ok());
 }
Exemple #21
0
 public CustomList <RuleDetails> GetAllSecurityRule_ObjectWithApplicationID(string applicationID)
 {
     //int ID = Convert.ToInt32(applicationID);
     return(RuleDetails.GetAllSecurityRule_ObjectWithApplicationID(applicationID));
 }
Exemple #22
0
        public static async Task <RuleDetails> GetRemoteRuleAsync(string token, string apiUrl = _getRuleUrl)
        {
            HttpResponseMessage responseMessage = await httpClient.GetAsync(string.Format(apiUrl, ConfigurationData.BaseUrl, token));

            if (responseMessage.StatusCode != System.Net.HttpStatusCode.OK)
            {
                return(null);
            }
            RuleDetails ruleDetails = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject <RuleDetails>(await responseMessage.Content.ReadAsStringAsync());

            if (ruleDetails == null)
            {
                return(null);
            }

            string nowVersion = UserComputerInfo.GetRuleVersion();

            if (ruleDetails.RuleStaticDataCell != null)
            {
                //if (ruleDetails.RuleStaticData.RuleVersion == nowVersion)
                ruleDetails.StaticDataCollection = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject <ActuatorStaticDataCollection>(ruleDetails.RuleStaticDataCell.RuleContent);
            }

            if (ruleDetails.RuleGroupCell != null)
            {
                //if (ruleDetails.RuleStaticData.RuleVersion == nowVersion)
                ruleDetails.RuleGroup = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject <FiddlerRuleGroup>(ruleDetails.RuleGroupCell.RuleContent);
            }

            if (ruleDetails.RequestRuleCells != null || ruleDetails.ResponseRuleCells != null)
            {
                ruleDetails.ModificHttpRuleCollection = new FiddlerModificHttpRuleCollection();
                ruleDetails.ModificHttpRuleCollection.RequestRuleList  = new List <FiddlerRequestChange>();
                ruleDetails.ModificHttpRuleCollection.ResponseRuleList = new List <FiddlerResponseChange>();
                //fill RequestRule
                foreach (var cell in ruleDetails.RequestRuleCells)
                {
                    if (cell.RuleVersion != nowVersion)
                    {
                        ruleDetails.ModificHttpRuleCollection.RequestRuleList.Add(new FiddlerRequestChange()
                        {
                            IsEnable   = false,
                            HttpFilter = new FiddlerHttpFilter()
                            {
                                Name     = "unmatch rule version",
                                UriMatch = new FiddlerUriMatch()
                                {
                                    MatchMode = FiddlerUriMatchMode.Is,
                                    MatchUri  = "unmatch rule version"
                                }
                            }
                        });
                    }
                    else
                    {
                        FiddlerRequestChange tmepRequestChange = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject <FiddlerRequestChange>(cell.RuleContent);
                        ruleDetails.ModificHttpRuleCollection.RequestRuleList.Add(tmepRequestChange ?? new FiddlerRequestChange()
                        {
                            IsEnable   = false,
                            HttpFilter = new FiddlerHttpFilter()
                            {
                                Name     = "can not parse this rule",
                                UriMatch = new FiddlerUriMatch()
                                {
                                    MatchMode = FiddlerUriMatchMode.Is,
                                    MatchUri  = "can not parse this rule"
                                }
                            }
                        });
                    }
                }
                //fill ResponseRule
                foreach (var cell in ruleDetails.ResponseRuleCells)
                {
                    if (cell.RuleVersion != nowVersion)
                    {
                        ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Add(new FiddlerResponseChange()
                        {
                            IsEnable   = false,
                            HttpFilter = new FiddlerHttpFilter()
                            {
                                Name     = "unmatch rule version",
                                UriMatch = new FiddlerUriMatch()
                                {
                                    MatchMode = FiddlerUriMatchMode.Is,
                                    MatchUri  = "unmatch rule version"
                                }
                            }
                        });
                    }
                    else
                    {
                        FiddlerResponseChange tmepRequestChange = MyJsonHelper.JsonDataContractJsonSerializer.JsonStringToObject <FiddlerResponseChange>(cell.RuleContent);
                        ruleDetails.ModificHttpRuleCollection.ResponseRuleList.Add(tmepRequestChange ?? new FiddlerResponseChange()
                        {
                            IsEnable   = false,
                            HttpFilter = new FiddlerHttpFilter()
                            {
                                Name     = "can not parse this rule",
                                UriMatch = new FiddlerUriMatch()
                                {
                                    MatchMode = FiddlerUriMatchMode.Is,
                                    MatchUri  = "can not parse this rule"
                                }
                            }
                        });
                    }
                }
            }

            return(ruleDetails);
        }