Exemple #1
0
        public async Task <bool> PostAsync(IpModel model)
        {
            try
            {
                var jsonData = JsonConvert.SerializeObject(model).ToLowerInvariant();
                var url      = await GetIFTTTMakerUrlAsync();

                if (string.IsNullOrEmpty(url))
                {
                    return(false);
                }

                using (var jsonContent = new StringContent(jsonData, Encoding.UTF8, "application/json"))
                    using (var response = await m_HttpClient.PostAsync(url, jsonContent))
                    {
                        response.EnsureSuccessStatusCode();
                        return(true);
                    }
            }
            catch (HttpRequestException httpRequestException)
            {
                Log.Error($"Failed to post {model.Value1} to IFTTT '{httpRequestException.Message}'", httpRequestException);
            }
            catch (Exception exception)
            {
                Log.Error($"Failed to post {model.Value1} to IFTTT '{exception.Message}'", exception);
            }

            return(false);
        }
 public static void ModifyIpModel(IpModel p)
 {
     _ipModelService.Update(new ControllerCenter.Model.IpModel()
     {
         IpName = p.IpName
     });
 }
Exemple #3
0
        public ActionResult Edit(IpModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = _service.Edit(model.Id,
                                               new IpAddressElement()
                    {
                        Address = model.IpAddress,
                        Denied  = model.IsDenied
                    });

                    if (result)
                    {
                        return(RedirectToAction("IPs"));
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, ex);
            }

            ViewBag.ErrorMessage = "Възникна грешка";
            return(View(model));
        }
 public static void DelIpModel(IpModel p)
 {
     _ipModelService.Delete(new ControllerCenter.Model.IpModel()
     {
         IpName = p.IpName
     });
 }
 public static void AddIpModel(IpModel p)
 {
     _ipModelService.Add(new ControllerCenter.Model.IpModel()
     {
         IpName = p.IpName
     });
 }
Exemple #6
0
        public IActionResult GetMyIp()
        {
            IpModel ipModel = new IpModel()
            {
                IpAddress = httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString()
            };

            return(View(ipModel));
        }
Exemple #7
0
        /// <summary>
        /// 编辑结束触发时间
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvIp_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            List <IpModel> list = new List <IpModel>();

            foreach (DataGridViewRow row in dgvIp.Rows)
            {
                if (row.Cells["IPAddress"].Value != null)
                {
                    if (!string.IsNullOrWhiteSpace(row.Cells["IPAddress"].Value.ToString()))
                    {
                        IpModel IpModel = new IpModel();
                        IpModel.IPAddress = row.Cells["IPAddress"].Value.ToString();
                        IpModel.BZ        = row.Cells["BZ"].Value == null ? "" : row.Cells["BZ"].Value.ToString();
                        list.Add(IpModel);
                    }
                }
            }
            dgvIp.EndEdit();
            saveXml(list);
            //InitIp();
        }
Exemple #8
0
        public IpModel GetIpContract(string userId, string password, string sirketkodu)
        {
            var ipmodel = new IpModel();

            try
            {
                ipmodel = _dbAccess.QueryItem <IpModel>("PROC_GETIP", new List <MySqlParameter> {
                    new MySqlParameter("P_SIRKETKODU", sirketkodu)
                });

                if (ipmodel.DbName == null)
                {
                    ipmodel.Statu   = Model.Statu.fail;
                    ipmodel.Message = "Geçersiz Hukuk Kodu";
                    return(ipmodel);
                }
                ipmodel.SirketKodu = sirketkodu;
                ipmodel.Operation  = "GetIpContract";
                var response = hsClient.AuthenticateUser(ipmodel.DbName, ipmodel.Ip, Convert.ToInt32(userId), password);
                ipmodel.Message = response.Messagek__BackingField;

                if ((int)response.Statuk__BackingField == (int)Model.Statu.fail)
                {
                    ipmodel.Statu = Model.Statu.fail;
                }
                else
                {
                    ipmodel.Statu  = Model.Statu.success;
                    ipmodel.userid = response.UserIdk__BackingField;
                }
            }
            catch (Exception ex)
            {
                ipmodel.Statu   = Model.Statu.fail;
                ipmodel.Message = "Geçersiz kullanıcı adı veya şifre";
            }
            return(ipmodel);
        }
Exemple #9
0
        /// <summary>
        /// Gets the datatable for the grid
        /// </summary>
        /// <param name="inputString">Json input containing all the info about vms</param>
        /// <returns></returns>
        private DataTable GetVmData(string inputString)
        {
            try
            {
                //parse json input into vm model
                var values = VmssModel.FromJson(inputString);

                DataTable table = new DataTable();
                table.Columns.Add("Id", typeof(string));
                table.Columns.Add("Instance Id", typeof(string));
                table.Columns.Add("Name", typeof(string));
                table.Columns.Add("Status", typeof(string));
                table.Columns.Add("Ip", typeof(string));
                //table.Columns.Add("Status", typeof(string));
                foreach (Value vm in values.Value)
                {
                    VmInstanceModel v = GetVm(vm.InstanceId.ToString());
                    PublicIpAddressConfiguration publicIpConfig = vm.Properties.NetworkProfileConfiguration.NetworkInterfaceConfigurations[0].Properties.IpConfigurations[0].Properties.PublicIpAddressConfiguration;
                    string ipName = "";
                    if (publicIpConfig != null)
                    {
                        IpModel ip = GetIp(publicIpConfig.Name);
                        ipName = ip.Properties.IpAddress;
                    }

                    string powerState = v.Statuses[1].Code.Replace("PowerState/", string.Empty);
                    table.Rows.Add(vm.Id, vm.InstanceId, vm.Name, powerState, ipName);
                }
                ;
                return(table);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #10
0
        public async Task <IActionResult> Post(IpModel model)
        {
            if (model == null)
            {
                return(BadRequest(new { Success = false, Message = "Invalid model." }));
            }
            if (!Request.Headers.ContainsKey("Api-Secret"))
            {
                return(BadRequest(new { success = false, message = "Missing Secret header" }));
            }
            var values    = Request.Headers["Api-Secret"];
            var apiSecret = Environment.GetEnvironmentVariable("AWSHELPER_API_SECRET");

            if (values.FirstOrDefault(x => x == apiSecret) == null)
            {
                return(Unauthorized(new { success = false, message = "Invalid secret header" }));
            }


            if (string.IsNullOrEmpty(model.Name) || string.IsNullOrWhiteSpace(model.Name))
            {
                return(BadRequest(new { Success = false, Message = "Invalid name" }));
            }

            var namePrefix   = Environment.GetEnvironmentVariable("AWSHELPER_NAME_PREFIX");
            var groupId      = Environment.GetEnvironmentVariable("AWSHELPER_GROUP_ID");
            var accessId     = Environment.GetEnvironmentVariable("AWSHELPER_ACCESS_ID");
            var accessSecret = Environment.GetEnvironmentVariable("AWSHELPER_ACCESS_SECRET");
            var endpoint     = RegionEndpoint.GetBySystemName(Environment.GetEnvironmentVariable("AWSHELPER_REGION"));
            var client       = new AmazonEC2Client(accessId, accessSecret, endpoint);

            var req = new DescribeSecurityGroupsRequest();

            req.GroupIds.Add(groupId);

            var request = new UpdateSecurityGroupRuleDescriptionsIngressRequest
            {
                GroupId = groupId
            };

            try
            {
                var secGroupRequest = new DescribeSecurityGroupsRequest();
                secGroupRequest.GroupIds.Add(groupId);

                var get = await client.DescribeSecurityGroupsAsync(secGroupRequest);

                var securityGroup = get.SecurityGroups.FirstOrDefault();
                if (securityGroup == null)
                {
                    return(BadRequest(new { Success = false, Message = "Security group not found." }));
                }

                var description = $"{namePrefix}{model.Name}";

                var ipRangeListRemoved = new List <IpRange>();
                var ipRangeListAdded   = new List <IpRange>();

                foreach (var permission in securityGroup.IpPermissions)
                {
                    foreach (var ipRange in permission.Ipv4Ranges)
                    {
                        if (description.Equals(ipRange.Description) && permission.ToPort == model.Port)
                        {
                            ipRangeListRemoved.Add(ipRange);
                        }
                    }
                    permission.Ipv4Ranges.RemoveAll(x => ipRangeListRemoved.Contains(x));
                }

                if (ipRangeListRemoved.Any())
                {
                    var revokeRequest = new RevokeSecurityGroupIngressRequest();
                    revokeRequest.GroupId = groupId;
                    revokeRequest.IpPermissions.Add(new IpPermission
                    {
                        FromPort   = model.Port,
                        IpProtocol = model.Protocol,
                        ToPort     = model.Port,
                        Ipv4Ranges = new List <IpRange>(ipRangeListRemoved)
                    });
                    await client.RevokeSecurityGroupIngressAsync(revokeRequest);
                }

                var authorizeRequest = new AuthorizeSecurityGroupIngressRequest();
                authorizeRequest.GroupId = groupId;
                var authorizeIpRange = new IpRange
                {
                    CidrIp      = $"{model.Ip}/32",
                    Description = description
                };
                authorizeRequest.IpPermissions.Add(new IpPermission
                {
                    FromPort   = model.Port,
                    IpProtocol = model.Protocol,
                    ToPort     = model.Port,
                    Ipv4Ranges = new List <IpRange> {
                        authorizeIpRange
                    }
                });
                var authorizeResult = await client.AuthorizeSecurityGroupIngressAsync(authorizeRequest);

                return(Ok(new
                {
                    Success = true,
                    Message = "Action completed."
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { Success = false, Message = ex.Message }));
            }
        }