示例#1
0
        public ActionResult ShowMikrotikUserByMikrotikIDForSynchronize(int MikrotikID)
        {
            // Initialization.
            JsonResult result = new JsonResult();

            try
            {
                Mikrotik mikrotik = db.Mikrotik.Find(MikrotikID);

                ITikConnection connection;
                ITikCommand    userCmd;
                ITikCommand    PackageCmd;
                try
                {
                    List <MikrotikUserList> lstMikrotikUserList = new List <MikrotikUserList>();
                    connection = ConnectionFactory.OpenConnection(TikConnectionType.Api, mikrotik.RealIP, mikrotik.MikUserName, mikrotik.MikPassword);//mikrotik.APIPort,

                    List <MikrotikUserList>      lstUserFromMikrotik    = MikrotikLB.GetUserListFromMikrotik(connection, mikrotik);
                    List <MikrotikUserList>      lstActiveUserList      = MikrotikLB.GetActiveUserListFromMikrotik(connection, mikrotik);
                    IEnumerable <ITikReSentence> lstPackageFromMikrotik = MikrotikLB.GetPackageListFromMikrotik(connection);

                    List <string> lstUserFromSystem = db.ClientDetails.Select(x => x.LoginName).ToList();
                    lstUserFromMikrotik = lstUserFromMikrotik.Where(z => !lstUserFromSystem.Contains(z.UserName)).ToList();
                    return(Json(new { Success = true, lstUserFromMikrotik = lstUserFromMikrotik, MikrotikConnectionFailed = true }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { Success = false, MikrotikConnectionFailed = true }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                // Info
                Console.Write(ex);
            }
            // Return info.
            return(result);
        }
示例#2
0
        //[ValidateJsonAntiForgeryTokenAttribute]
        public JsonResult RemoveClientPermentlyFromMikrotik(List <MikrotikUser> MikrotikUser)
        {
            List <Package> lstPackage = db.Package.ToList();
            Mikrotik       mikrotik   = db.Mikrotik.Find(MikrotikUser.FirstOrDefault().MikrotikID);

            int            questionID   = db.SecurityQuestion.FirstOrDefault().SecurityQuestionID;
            bool           success      = true;
            List <string>  successArray = new List <string>();
            ITikConnection connMik      = MikrotikLB.CreateInstanceOfMikrotik(TikConnectionType.Api, mikrotik.RealIP, 8728, mikrotik.MikUserName, mikrotik.MikPassword);

            foreach (var user in MikrotikUser)
            {
                try
                {
                    MikrotikLB.RemoveUserInMikrotik(connMik, user.LoginName);
                    successArray.Add(user.LoginName);
                }
                catch (Exception ex)
                {
                    success = false;
                }
            }
            return(Json(new { Success = success, SuccessArray = successArray }, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult GetAllMikrotikUserAJAXData()
        {
            // Initialization.
            JsonResult result = new JsonResult();

            try
            {
                int zoneFromDDL = 0;
                // Initialization.
                string search     = Request.Form.GetValues("search[value]")[0];
                string draw       = Request.Form.GetValues("draw")[0];
                string order      = Request.Form.GetValues("order[0][column]")[0];
                string orderDir   = Request.Form.GetValues("order[0][dir]")[0];
                int    startRec   = Convert.ToInt32(Request.Form.GetValues("start")[0]);
                int    pageSize   = Convert.ToInt32(Request.Form.GetValues("length")[0]);
                var    Mikrotik   = Request.Form.Get("lstMikrotiks");
                int    MikrotikID = 0;
                if (!String.IsNullOrEmpty(Mikrotik))
                {
                    MikrotikID = int.Parse(Mikrotik);
                }
                // Loading.

                Mikrotik mikrotik = db.Mikrotik.Find(MikrotikID);

                ITikConnection connection;
                ITikCommand    userCmd;
                ITikCommand    PackageCmd;
                try
                {
                    List <MikrotikUserList> lstMikrotikUserList = new List <MikrotikUserList>();
                    connection = ConnectionFactory.OpenConnection(TikConnectionType.Api, mikrotik.RealIP, mikrotik.MikUserName, mikrotik.MikPassword);//mikrotik.APIPort,

                    List <MikrotikUserList>      lstUserFromMikrotik    = MikrotikLB.GetUserListFromMikrotik(connection, mikrotik);
                    List <MikrotikUserList>      lstActiveUserList      = MikrotikLB.GetActiveUserListFromMikrotik(connection, mikrotik);
                    IEnumerable <ITikReSentence> lstPackageFromMikrotik = MikrotikLB.GetPackageListFromMikrotik(connection);

                    //userCmd.ExecuteList();
                    //var a = MikrotikLB.GetUserListFromMikrotik(userCmd);

                    //PackageCmd = connection.CreateCommand("/ppp/profile/print");
                    //IEnumerable<ITikReSentence> lstPackageFromMikrotik = PackageCmd.ExecuteList();


                    List <string> lstUserFromSystem = db.ClientDetails.Select(x => x.LoginName).ToList();
                    lstUserFromMikrotik = lstUserFromMikrotik.Where(z => !lstUserFromSystem.Contains(z.UserName)).ToList();
                    //s => lstStockDetailsListFromClient.Contains(s.StockDetailsID)
                    return(Json(new { Success = true, lstUserFromMikrotik = lstUserFromMikrotik, MikrotikConnectionFailed = true }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { Success = false, MikrotikConnectionFailed = true }, JsonRequestBehavior.AllowGet));
                }


                //// Apply pagination.
                ////data = data.Skip(startRec).Take(pageSize).ToList();
                //var clientDetails = !string.IsNullOrEmpty(Mikrotik) ? db.ClientDetails.Where(s => s.MikrotikID.Value == MikrotikID && s.IsNewClient != AppUtils.isNewClient).AsEnumerable() : db.ClientDetails.Where(s => s.IsNewClient != AppUtils.isNewClient).AsEnumerable();

                //int ifSearch = 0;
                //if (!string.IsNullOrEmpty(search) &&
                //    !string.IsNullOrWhiteSpace(search))
                //{

                //    ifSearch = (clientDetails.Any()) ? clientDetails.Where(p => p.Name.ToString().ToLower().Contains(search.ToLower()) || p.Package.PackageName.ToString().ToLower().Contains(search.ToLower()) ||
                //                                              p.Zone.ZoneName.ToString().ToLower().Contains(search.ToLower()) || p.ContactNumber.ToString().ToLower().Contains(search.ToLower()) ||
                //                                              p.LoginName.ToString().ToLower().Contains(search.ToLower())).Count() : 0;

                //    //Apply search
                //    clientDetails = clientDetails.Where(p => p.Name.ToString().ToLower().Contains(search.ToLower()) || p.Package.PackageName.ToString().ToLower().Contains(search.ToLower()) ||
                //                                             p.Zone.ZoneName.ToString().ToLower().Contains(search.ToLower()) || p.ContactNumber.ToString().ToLower().Contains(search.ToLower()) ||
                //                                             p.LoginName.ToString().ToLower().Contains(search.ToLower())

                //    ).AsEnumerable();
                //}
                //List<MikrotikUserCutomModel> data =
                //    clientDetails.Any() ? clientDetails.Skip(startRec).Take(pageSize).AsEnumerable()
                //        //.Select new {ss=>ss. }
                //        .Select(
                //            s => new MikrotikUserCutomModel
                //            {
                //                ClientDetailsID = s.ClientDetailsID,
                //                MikrotikID = (s.Mikrotik != null) ? s.MikrotikID.Value : 0,
                //                ClientName = s.Name,
                //                LoginName = s.LoginName.ToString(),
                //                PackageName = s.Package.PackageName,
                //                Zone = s.Zone.ZoneName,
                //                ContactNumber = s.ContactNumber,
                //                MikrotikName = (s.Mikrotik != null) ? s.Mikrotik.MikName : "",
                //                LocalAddress = s.Package.LocalAddress,
                //                PoolName = s.Package.IpPool != null ? s.Package.IpPool.PoolName : "",
                //                UpdateMikrotikUserInformation = ISP_ManagementSystemModel.AppUtils.HasAccessInTheList(ISP_ManagementSystemModel.AppUtils.Update_Client) ? true : false,
                //            })
                //        .ToList() : new List<MikrotikUserCutomModel>();
                //// Verification.

                //// Sorting.
                //data = this.SortByColumnWithOrder(order, orderDir, data);
                //// Total record count.
                //int totalRecords = clientDetails.AsEnumerable().Count();//(!string.IsNullOrEmpty(search) &&  !string.IsNullOrWhiteSpace(search))? data.AsEnumerable().Count():
                //// Filter record count.
                //int recFilter = (!string.IsNullOrEmpty(search) && !string.IsNullOrWhiteSpace(search)) ? ifSearch : clientDetails.AsEnumerable().Count();

                //////////////////////////////////////


                //// Loading drop down lists.
                //result = this.Json(new
                //{
                //    draw = Convert.ToInt32(draw),
                //    recordsTotal = totalRecords,
                //    recordsFiltered = recFilter,
                //    data = data
                //}, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                // Info
                Console.Write(ex);
            }
            // Return info.
            return(result);
        }