public static void DeleteRecipientById(string RecipientId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            _db.Recipients.Where(e => e.Id == RecipientId).FirstOrDefault().Deleted = true;
            _db.SaveChanges();
        }
        public static string GenerateLoginQRCode(string KeyLink)
        {
            string id       = Guid.NewGuid().ToString();
            string Url      = HttpRuntime.AppDomainAppPath;
            string fileName = "Content/QRCode/" + id + ".png";
            string fullPath = Path.Combine(Url, fileName);
            //string Url = "ftp://sg1-wss1%[email protected]/QRCode/" + id + ".png";
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(KeyLink, QRCodeGenerator.ECCLevel.Q);
            QRCode          qrCode      = new QRCode(qrCodeData);
            Bitmap          qrCodeImage = qrCode.GetGraphic(20);

            //FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Url);
            //request.Credentials = new NetworkCredential("sg1-wss1\\itzmoon", "pD74W87h^#");
            //request.Method = WebRequestMethods.Ftp.UploadFile;
            using (MemoryStream memory = new MemoryStream())
            {
                using (FileStream fs = new FileStream(fullPath, FileMode.Create, FileAccess.ReadWrite))
                {
                    qrCodeImage.Save(memory, ImageFormat.Png);
                    byte[] bytes = memory.ToArray();
                    fs.Write(bytes, 0, bytes.Length);
                }
            }
            //}
            ObserverDbContext _db = new ObserverDbContext();
            string            url = _db.WebConfigs
                                    .Where(e => e.Key == "SITE_URL")
                                    .FirstOrDefault()
                                    .Value + "/Content/QRCode/" + id + ".png";

            return(url);
        }
Ejemplo n.º 3
0
 public EventController(
     ACTokenValidator tokenManager,
     ObserverDbContext dbContext)
 {
     _tokenManager = tokenManager;
     _dbContext    = dbContext;
 }
        public static void DeleteStepById(string StepId)
        {
            using (ObserverDbContext _db = new ObserverDbContext())
            {
                StepsModel model = _db.Steps
                                   .Where(e => e.Id == StepId)
                                   .FirstOrDefault();

                int    numOrder  = model.Order.GetValueOrDefault();
                string observeId = model.Observes.Id;

                model.Deleted = true;
                model.Order   = 0;

                List <StepsModel> listModel = _db.Steps
                                              .Where(e => e.Observes.Id == observeId)
                                              .ToList();

                foreach (StepsModel item in listModel)
                {
                    if (item.Order > numOrder)
                    {
                        item.Order = item.Order - 1;
                    }
                }

                _db.SaveChanges();
            }
        }
        public ActionResult Logout(string from = null)
        {
            if (from == "fb")
            {
                //AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                return(RedirectToAction("Index", "Home", new { status = 4 }));
            }
            else if (from == "fbexpired")
            {
                return(RedirectToAction("Index", "Home", new { status = 5 }));
            }
            ObserverDbContext _db = new ObserverDbContext();

            HttpCookie SessionCookie = new HttpCookie("SessionId");

            SessionCookie.Value   = null;
            SessionCookie.Expires = DateTime.Now.AddYears(-10);
            Response.SetCookie(SessionCookie);

            HttpCookie SessionKeyCookie = new HttpCookie("SessionKey");

            SessionKeyCookie.Value   = null;
            SessionKeyCookie.Expires = DateTime.Now.AddYears(-10);
            Response.SetCookie(SessionKeyCookie);

            AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
            return(RedirectToAction("Index", "Home", new { status = 3 }));
        }
Ejemplo n.º 6
0
        public ActionResult ObserveM()
        {
            if (!Request.Browser.IsMobileDevice)
            {
                return(RedirectToAction("Index"));
            }

            string            UserId = User.Identity.GetUserId();
            ObserverDbContext _db    = new ObserverDbContext();

            List <ObservesModel> oriList = _db.Observes
                                           .Where(e => e.Users.Id == UserId && e.Deleted == false)
                                           .OrderByDescending(e => e.DateCreated)
                                           .ToList();
            List <ObserveListOutputModel> newList = new List <ObserveListOutputModel>();

            foreach (ObservesModel item in oriList)
            {
                ObserveListOutputModel model = new ObserveListOutputModel()
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    Status      = item.Status.GetValueOrDefault(),
                    DateCreated = item.DateCreated.AddHours(8).ToString("dd/MM/yy")
                };

                newList.Add(model);
            }


            return(View(newList));
        }
        public static void DetectResponseIrregularity(string StepId, int Minutes)
        {
            ObserverDbContext _db = new ObserverDbContext();

            StepsModel stepsModel = _db.Steps
                                    .Where(e => e.Id == StepId)
                                    .FirstOrDefault();

            int minute = (int)DateTime.UtcNow.Subtract(stepsModel.CheckedTime).TotalMinutes;

            try
            {
                if (minute > Minutes)
                {
                    string        ObservesId = ObserveServiceManager.GetObserveByStepId(StepId).Id;
                    ObservesModel model      = _db.Observes.Where(r => r.Id == ObservesId).FirstOrDefault();
                    model.Status = 0;
                    _db.SaveChanges();
                    foreach (RecipientsModel item in model.List_Recipients.Where(e => e.Deleted == false).ToList())
                    {
                        EmailServiceManager.CatchErrorNotification(model.Name, item.Email);
                    }
                }
            } catch (NullReferenceException e)
            {
                e.ToString();
            }
        }
Ejemplo n.º 8
0
        public static void CreateNewUser(UsersModel users)
        {
            ObserverDbContext _db = new ObserverDbContext();

            _db.Users.Add(users);
            _db.SaveChanges();
        }
        public static List <PCMethodsModel> GetPCMethodList()
        {
            ObserverDbContext _db = new ObserverDbContext();

            return(_db.PCMethods
                   .ToList());
        }
        public static List <RecipientsModel> GetRecipientList(string ObserveId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            return(_db.Recipients
                   .Where(e => e.Observes.Id == ObserveId && e.Deleted == false)
                   .ToList());
        }
Ejemplo n.º 11
0
        private async Task AllClean(ObserverDbContext dbContext)
        {
            var oldestRecordTime = DateTime.UtcNow - TimeSpan.FromDays(7);
            var items            = await dbContext.ErrorLogs.Where(t => t.LogTime < oldestRecordTime).ToListAsync();

            dbContext.ErrorLogs.RemoveRange(items);
            await dbContext.SaveChangesAsync();
        }
        public static PCMethodsModel GetPCMethodById(string Id)
        {
            ObserverDbContext _db = new ObserverDbContext();

            return(_db.PCMethods
                   .Where(e => e.Id == Id)
                   .FirstOrDefault());
        }
        public static List <StepsModel> GetStepListByObserveId(String ObserveId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            return(_db.Steps
                   .Where(e => e.Observes.Id == ObserveId && e.Deleted == false)
                   .OrderBy(e => e.Order)
                   .ToList());
        }
Ejemplo n.º 14
0
        public async Task <JsonResult> ExecuteBatchStepByObserveId(string ObserveId)
        {
            ObserverDbContext _db = new ObserverDbContext();

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

            if (model.Users.Id == User.Identity.GetUserId())
            {
                List <StepsModel> listModel = _db.Observes.Where(e => e.Id == ObserveId).FirstOrDefault().List_Steps.Where(e => e.Deleted == false).OrderBy(e => e.Order).ToList();
                List <StepExecutionInputModel> inputList = new List <StepExecutionInputModel>();
                PCMethodsModel pcMethodsModel            = null;

                foreach (StepsModel item in listModel)
                {
                    string PC1      = null;
                    string PC2      = null;
                    int    PCMethod = 0;
                    if (item.PC_Method != null)
                    {
                        pcMethodsModel = PCMethodServiceManager.GetPCMethodById(item.PC_Method.Id);
                        PC1            = pcMethodsModel.PC1;
                        PC2            = pcMethodsModel.PC2;
                        PCMethod       = int.Parse(item.PC_Method.Id);
                    }

                    StepExecutionInputModel input = new StepExecutionInputModel()
                    {
                        Order        = item.Order.GetValueOrDefault(),
                        Uri          = item.Url,
                        Method       = item.Method.GetValueOrDefault(),
                        PC_Method    = PCMethod,
                        PC1          = item.PC1,
                        PC2          = item.PC2,
                        PC2Secret    = item.PC2Secret,
                        CustomHeader = item.PredefinedHeader,
                        UseHeader    = item.SetHeader.GetValueOrDefault(),
                        LabelPC1     = PC1,
                        LabelPC2     = PC2
                    };

                    inputList.Add(input);
                }

                return(Json(await StepServiceManager.ExecuteBatchStepReturningResult(inputList)));
            }
            else
            {
                StepExecutionOutputModel input = new StepExecutionOutputModel()
                {
                    Status = "Unauthorized"
                };

                return(Json(input));
            }
        }
Ejemplo n.º 15
0
 public EventController(
     ACTokenValidator tokenManager,
     ObserverDbContext dbContext,
     CannonQueue cannon)
 {
     _tokenManager = tokenManager;
     _dbContext    = dbContext;
     _cannon       = cannon;
 }
        public static void SetCatchByStepId(string StepId, string CatchId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            CatchesModel catchesModel = _db.Catches.Where(e => e.Id == CatchId).FirstOrDefault();

            _db.Steps.Where(e => e.Id == StepId).FirstOrDefault().Catches = catchesModel;
            _db.SaveChanges();
        }
Ejemplo n.º 17
0
        public JsonResult GetStepDetail(string StepId)
        {
            if (ObserveServiceManager.GetObserveByStepId(StepId).Users.Id == User.Identity.GetUserId())
            {
                int    numPC     = 0;
                string PC1Label  = null;
                string PC2Label  = null;
                string decrypted = null;

                ObserverDbContext _db = new ObserverDbContext();

                StepsModel model = _db.Steps.Where(e => e.Id == StepId).FirstOrDefault();

                if (model.PC_Method != null)
                {
                    PCMethodsModel models = model.PC_Method;
                    numPC    = models.Type;
                    PC1Label = models.PC1;
                    PC2Label = models.PC2;
                }

                int pcmethod = 0;
                if (model.PC_Method != null)
                {
                    pcmethod = int.Parse(model.PC_Method.Id);
                }

                if (model.PC2 != null)
                {
                    decrypted = EncryptionAlgorithmServiceManager.DecryptStringFromBytes_Aes(Convert.FromBase64String(model.PC2), Convert.FromBase64String(_db._AESSecretKeyS), Convert.FromBase64String(model.PC2Secret));
                }

                StepDetailOutputModel outputModel = new StepDetailOutputModel()
                {
                    StepId           = model.Id,
                    Url              = model.Url,
                    Method           = model.Method.GetValueOrDefault(),
                    Header           = model.SetHeader.GetValueOrDefault(),
                    Priority         = model.Order.GetValueOrDefault(),
                    PredefinedHeader = model.PredefinedHeader,
                    Status           = "Authorized",
                    PC_Method        = pcmethod,
                    PC1              = model.PC1,
                    PC2              = decrypted,
                    PC1Label         = PC1Label,
                    PC2Label         = PC2Label,
                    numPC            = numPC
                };

                return(Json(outputModel));
            }
            else
            {
                return(Json(JsonConvert.DeserializeObject("{ 'Status': 'Unauthorized' }")));
            }
        }
        public static ObservesModel GetObserveById(string Id)
        {
            ObserverDbContext _db = new ObserverDbContext();

            ObservesModel query = _db.Observes
                                  .Where(e => e.Id == Id)
                                  .FirstOrDefault();

            return(query);
        }
        public static void DeleteObserveById(string Id)
        {
            ObserverDbContext _db = new ObserverDbContext();
            var query             = _db.Observes
                                    .Where(e => e.Id == Id)
                                    .FirstOrDefault();

            query.Deleted = true;
            _db.SaveChanges();
        }
        public static List <ObservesModel> GetObserveListByAspId(string AspId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            List <ObservesModel> query = _db.Observes
                                         .Where(e => e.Users.Id == AspId && e.Deleted == false)
                                         .ToList();

            return(query);
        }
        public static void SetIntervalByObserveId(string ObserveId, int Interval)
        {
            ObserverDbContext _db = new ObserverDbContext();

            var query = _db.Observes.Where(e => e.Id == ObserveId).FirstOrDefault();

            query.Interval = Interval;
            query.NextRun  = DateTime.UtcNow;

            _db.SaveChanges();
        }
        public async Task <ActionResult> VerifyEmail(string Id, string Key)
        {
            ObserverDbContext _db = new ObserverDbContext();

            var query = _db.PendingUsers
                        .Where(e => e.Id == Id && e.Key == Key)
                        .OrderByDescending(e => e.DateCreated)
                        .ToList();

            if (query.Count > 0)
            {
                var query2 = query.FirstOrDefault();
                if (query2.DateCreated.AddHours(1) < DateTime.UtcNow)
                {
                    return(RedirectToAction("Index", "Home", new { status = 8 }));
                }
                else if (query2.Id == Id && query2.Key == Key)
                {
                    query2.Status = 1;
                    var user = new ApplicationUser {
                        UserName = query2.Email, Email = query2.Email, LockoutEndDateUtc = System.DateTime.UtcNow
                    };
                    var result = await UserManager.CreateAsync(user);

                    if (result.Succeeded)
                    {
                        UsersModel newUser = new UsersModel()
                        {
                            Id          = user.Id,
                            Name        = query2.DisplayName,
                            Email       = query2.Email,
                            Status      = 1,
                            DateCreated = DateTime.UtcNow,
                            ApiCode     = EncryptionAlgorithmServiceManager.GetRNGGuid().ToString()
                        };
                        _db.Users.Add(newUser);
                        _db.SaveChanges();

                        await SignInManager.SignInAsync(user, true, true);
                    }

                    return(RedirectToAction("Index", "Home", new { status = 9 }));
                }
                else
                {
                    return(RedirectToAction("Index", "Home", new { status = 8 }));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { status = 8 }));
            }
        }
Ejemplo n.º 23
0
 public static UsersModel getUserByEmail(string Email)
 {
     using (ObserverDbContext _db = new ObserverDbContext())
     {
         UsersModel user  = new UsersModel();
         var        query = _db.Users
                            .Where(e => e.Email == Email)
                            .FirstOrDefault();
         user = query;
         return(user);
     }
 }
Ejemplo n.º 24
0
        public int EmailLoginRequest(string SessionId, string Email, string SessionKey)
        {
            ObserverDbContext _db = new ObserverDbContext();
            var session           = _db.LoginSessions
                                    .Where(e => e.Id == SessionId)
                                    .FirstOrDefault();

            if (session.Status == 6)
            {
                // Session expired
                return(0);
            }

            if (session.Status != 1)
            {
                // Session type error
                return(1);
            }

            if (session.Key != SessionKey)
            {
                // Session expired
                return(0);
            }

            var users = _db.Users
                        .Where(e => e.Email == Email)
                        .ToList();

            if (users.Count > 0)
            {
                var user = users.FirstOrDefault();
                if (user.Status == 1)
                {
                    session.EmailKey = EncryptionAlgorithmServiceManager.GetRNGGuid().ToString();
                    session.Status   = 4;
                    session.Users    = user;
                    _db.SaveChanges();
                    EmailServiceManager.AccountEmailLogin(user.Name, Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + "/LoginEmail?Id=" + SessionId + "&Key=" + session.EmailKey, user.Email);
                    return(4);
                }
                else
                {
                    // Inactive user
                    return(3);
                }
            }
            else
            {
                // Cannot find user
                return(2);
            }
        }
        public static void AddRecipient(RecipientsModel model)
        {
            ObserverDbContext _db           = new ObserverDbContext();
            ObservesModel     observesModel = _db.Observes
                                              .Where(e => e.Id == model.Observes.Id)
                                              .FirstOrDefault();

            model.Observes = observesModel;

            _db.Recipients.Add(model);
            _db.SaveChanges();
        }
Ejemplo n.º 26
0
        public int ResubmitStep(StepResubmitInputModel model)
        {
            if (model.Url == null)
            {
                return(1);
            }
            else if (model.Method != 1 && model.Method != 2)
            {
                return(2);
            }
            else
            {
                ObserverDbContext _db = new ObserverDbContext();

                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);
                }

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

                StepServiceManager.UpdateStep(stepsModel, model.PC_Method.ToString());
                return(4);
            }
        }
        public static void UpdateObserve(ObservesModel model)
        {
            ObserverDbContext _db = new ObserverDbContext();

            var query = _db.Observes
                        .Where(e => e.Id == model.Id)
                        .FirstOrDefault();

            query.Status = model.Status;
            query.Name   = model.Name;

            _db.SaveChanges();
        }
Ejemplo n.º 28
0
        public async Task <JsonResult> ExecuteStep(string StepId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            StepsModel stepsModel = _db.Steps
                                    .Where(e => e.Id == StepId)
                                    .FirstOrDefault();

            ObservesModel observesModel = stepsModel.Observes;

            if (observesModel.Users.Id == User.Identity.GetUserId())
            {
                string pcMethodsModelId    = null;
                string LabelPC1            = null;
                string LabelPC2            = null;
                int    pcMethodsModelIdInt = 0;
                if (stepsModel.PC_Method != null)
                {
                    pcMethodsModelId    = stepsModel.PC_Method.Id;
                    LabelPC1            = stepsModel.PC_Method.PC1;
                    LabelPC2            = stepsModel.PC_Method.PC2;
                    pcMethodsModelIdInt = int.Parse(pcMethodsModelId);
                }

                StepExecutionInputModel input = new StepExecutionInputModel()
                {
                    Order            = stepsModel.Order.GetValueOrDefault(),
                    Uri              = stepsModel.Url,
                    Method           = stepsModel.Method.GetValueOrDefault(),
                    PC_Method        = pcMethodsModelIdInt,
                    PC1              = stepsModel.PC1,
                    PC2              = stepsModel.PC2,
                    CustomHeader     = stepsModel.PredefinedHeader,
                    PredefinedHeader = stepsModel.SetHeader.GetValueOrDefault(),
                    LabelPC1         = LabelPC1,
                    LabelPC2         = LabelPC2,
                    PC2Secret        = stepsModel.PC2Secret
                };

                return(Json(await StepServiceManager.ExecuteStepReturningResult(input)));
            }
            else
            {
                StepExecutionOutputModel input = new StepExecutionOutputModel()
                {
                    Status = "Unauthorized"
                };

                return(Json(input));
            }
        }
        public static ObservesModel GetObserveByStepId(string StepId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            string observeId = _db.Steps
                               .Where(e => e.Id == StepId)
                               .FirstOrDefault()
                               .Observes.Id;

            ObservesModel query = _db.Observes
                                  .Where(e => e.Id == observeId)
                                  .FirstOrDefault();

            return(query);
        }
        public static ObservesModel GetObservesByRecipientId(string RecipientId)
        {
            ObserverDbContext _db = new ObserverDbContext();

            string observeId = _db.Recipients
                               .Where(e => e.Id == RecipientId)
                               .FirstOrDefault()
                               .Observes
                               .Id;

            ObservesModel query = _db.Observes
                                  .Where(e => e.Id == observeId)
                                  .FirstOrDefault();

            return(query);
        }