예제 #1
0
        public JsonResult GetStepList(String ObserveId)
        {
            ObservesModel observesModel = ObserveServiceManager.GetObserveById(ObserveId);

            if (observesModel.Users.Id == User.Identity.GetUserId())
            {
                List <StepsModel>          modelList = StepServiceManager.GetStepListByObserveId(ObserveId);
                List <StepListOutputModel> newList   = new List <StepListOutputModel>();

                foreach (StepsModel item in modelList)
                {
                    string StringMethod    = null;
                    string StringSetHeader = null;

                    if (item.Method == 1)
                    {
                        StringMethod = "GET";
                    }
                    else if (item.Method >= 2)
                    {
                        StringMethod = "POST";
                    }

                    if (item.SetHeader == 1)
                    {
                        StringSetHeader = "Yes";
                    }
                    else if (item.SetHeader == 0)
                    {
                        StringSetHeader = "No";
                    }
                    else if (item.SetHeader == 2)
                    {
                        StringSetHeader = "Pre";
                    }

                    StepListOutputModel newModel = new StepListOutputModel()
                    {
                        Id        = item.Id,
                        Priority  = item.Order.GetValueOrDefault(),
                        Url       = item.Url,
                        Method    = StringMethod,
                        SetHeader = StringSetHeader
                    };

                    newList.Add(newModel);
                }

                return(Json(newList));
            }
            else
            {
                return(Json(JsonConvert.DeserializeObject("{ 'Status' = 'Unauthorized Access' }")));
            }
        }
예제 #2
0
        public ActionResult Modify(string id)
        {
            if (Request.Browser.IsMobileDevice)
            {
                return(RedirectToAction("ModifyM"));
            }

            ObservesModel              model          = ObserveServiceManager.GetObserveById(id);
            List <StepsModel>          oriList        = StepServiceManager.GetStepListByObserveId(id);
            List <PCMethodsModel>      methodList     = PCMethodServiceManager.GetPCMethodList().OrderBy(e => e.Name).ToList();
            List <StepListOutputModel> newList        = new List <StepListOutputModel>();
            List <PCMethodOutputModel> PCMethodOutput = new List <PCMethodOutputModel>();

            foreach (StepsModel item in oriList)
            {
                string StringMethod    = null;
                string StringSetHeader = null;

                if (item.Method == 1)
                {
                    StringMethod = "GET";
                }
                else if (item.Method >= 2)
                {
                    StringMethod = "POST";
                }

                if (item.SetHeader == 1)
                {
                    StringSetHeader = "Yes";
                }
                else if (item.SetHeader == 0)
                {
                    StringSetHeader = "No";
                }
                else if (item.SetHeader == 2)
                {
                    StringSetHeader = "Pre";
                }
                StepListOutputModel newModel = new StepListOutputModel()
                {
                    Id        = item.Id,
                    Priority  = item.Order.GetValueOrDefault(),
                    Url       = item.Url,
                    Method    = StringMethod,
                    SetHeader = StringSetHeader
                };
                newList.Add(newModel);
            }

            foreach (PCMethodsModel item in methodList)
            {
                PCMethodOutputModel newModel = new PCMethodOutputModel()
                {
                    Id   = item.Id,
                    Name = item.Name
                };

                PCMethodOutput.Add(newModel);
            }

            try
            {
                ObserveOutputModel output = new ObserveOutputModel()
                {
                    Id       = model.Id,
                    Name     = model.Name,
                    Status   = model.Status.GetValueOrDefault(),
                    Interval = model.Interval.GetValueOrDefault(),
                    StepList = newList,
                    PCMethod = PCMethodOutput
                };

                return(View(output));
            } catch (NullReferenceException e)
            {
                return(RedirectToAction("Index", "Observe"));
            }
        }
예제 #3
0
        public int CreateNewStep(StepCreationInputModel model)
        {
            if (model.Url == null)
            {
                return(1);
            }
            else if (model.Method != 1 && model.Method != 2)
            {
                return(2);
            }
            else if (model.Priority != 1 && model.Priority != 2)
            {
                return(3);
            }
            else
            {
                ObserverDbContext _db = new ObserverDbContext();

                ObservesModel observesModel = _db.Observes
                                              .Where(e => e.Id == model.ObserveId)
                                              .FirstOrDefault();

                PCMethodsModel pcMethodsModel = _db.PCMethods
                                                .Where(e => e.Id == model.ContentMethod.ToString())
                                                .FirstOrDefault();

                byte[] encrypt         = null;
                byte[] encryptSecret   = null;
                string encrypted       = null;
                string encryptedSecret = null;
                if (model.PC2 != null)
                {
                    byte[] secretKey = Convert.FromBase64String(_db._AESSecretKeyS);
                    using (AesManaged myAes = new AesManaged())
                    {
                        encrypt       = EncryptionAlgorithmServiceManager.EncryptStringToBytes_Aes(model.PC2, secretKey, myAes.IV);
                        encryptSecret = myAes.IV;
                    }
                }

                if (encrypt != null)
                {
                    encrypted       = Convert.ToBase64String(encrypt);
                    encryptedSecret = Convert.ToBase64String(encryptSecret);
                }

                StepsModel stepsModel = new StepsModel()
                {
                    Id               = Guid.NewGuid().ToString(),
                    Url              = model.Url,
                    Method           = model.Method,
                    SetHeader        = model.Header,
                    Deleted          = false,
                    PredefinedHeader = model.PredefinedHeader,
                    PC_Method        = pcMethodsModel,
                    PC1              = model.PC1,
                    PC2              = encrypted,
                    PC2Secret        = encryptedSecret
                };

                int numStep = StepServiceManager.GetStepListByObserveId(model.ObserveId).Count();
                if (numStep == 0)
                {
                    if (StepServiceManager.CreateStep(User.Identity.GetUserId(), stepsModel, 1, model.ObserveId))
                    {
                        return(4);
                    }
                    else
                    {
                        return(5);
                    }
                }
                else
                {
                    if (model.Priority == 1)
                    {
                        if (StepServiceManager.CreateStep(User.Identity.GetUserId(), stepsModel, 2, model.ObserveId))
                        {
                            return(4);
                        }
                        else
                        {
                            return(5);
                        }
                    }
                    if (model.Priority == 2)
                    {
                        if (StepServiceManager.CreateStep(User.Identity.GetUserId(), stepsModel, 3, model.ObserveId))
                        {
                            return(4);
                        }
                        else
                        {
                            return(5);
                        }
                    }
                    return(4);
                }
            }
        }
예제 #4
0
 public int CountStepByObserveId(string ObserveId)
 {
     return(StepServiceManager.GetStepListByObserveId(ObserveId).Where(e => e.Deleted == false).Count());
 }