public usersLogs GetByID(int logId)
        {
            usersLogs item = new usersLogs();

            if (logId > 0)
            {
                try
                {
                    using (incposdbEntities entity = new incposdbEntities())
                    {
                        var itemlist = entity.usersLogs.Where(u => u.logId == logId).ToList();

                        item = itemlist.Where(u => u.logId == logId)
                               .Select(S => new usersLogs
                        {
                            logId    = S.logId,
                            sInDate  = S.sInDate,
                            sOutDate = S.sOutDate,
                            posId    = S.posId,
                            userId   = S.userId,
                        })
                               .FirstOrDefault();
                        return(item);
                    }
                }
                catch (Exception ex)
                {
                    return(item);
                }
            }
            else
            {
                return(item);
            }
        }
        //////////////////////
        ///

        public string Save(usersLogs newObject)
        {
            //public string Save(string token)
            //string Object string newObject
            string message = "";


            if (newObject != null)
            {
                usersLogs tmpObject = null;


                try
                {
                    if (newObject.posId == 0 || newObject.posId == null)
                    {
                        Nullable <int> id = null;
                        newObject.posId = id;
                    }
                    if (newObject.userId == 0 || newObject.userId == null)
                    {
                        Nullable <int> id = null;
                        newObject.userId = id;
                    }
                    using (incposdbEntities entity = new incposdbEntities())
                    {
                        var locationEntity = entity.Set <usersLogs>();
                        if (newObject.logId == 0 || newObject.logId == null)
                        {
                            // signIn
                            // sign out old
                            using (incposdbEntities entity2 = new incposdbEntities())
                            {
                                List <usersLogs> ul        = new List <usersLogs>();
                                List <usersLogs> locationE = entity2.usersLogs.ToList();
                                ul = locationE.Where(s => s.sOutDate == null &&
                                                     ((DateTime.Now - (DateTime)s.sInDate).TotalHours >= 8) || (s.userId == newObject.userId && s.sOutDate == null)).ToList();
                                if (ul != null)
                                {
                                    foreach (usersLogs row in ul)
                                    {
                                        row.sOutDate = DateTime.Now;
                                        entity2.SaveChanges();
                                    }
                                }
                            }
                            newObject.sInDate = DateTime.Now;


                            locationEntity.Add(newObject);
                            entity.SaveChanges();
                            message = newObject.logId.ToString();
                            //sign out old user
                        }



                        else
                        {//signOut
                            tmpObject = entity.usersLogs.Where(p => p.logId == newObject.logId).FirstOrDefault();



                            tmpObject.logId = newObject.logId;
                            //  tmpObject.sInDate=newObject.sInDate;
                            tmpObject.sOutDate = DateTime.Now;
                            //    tmpObject.posId=newObject.posId;
                            //  tmpObject.userId = newObject.userId;


                            entity.SaveChanges();

                            message = tmpObject.logId.ToString();
                        }
                        //  entity.SaveChanges();
                    }

                    return(message);
                }
                catch
                {
                    message = "0";
                    return(message);
                }
            }
            else
            {
                return("0");
            }
        }
        public string Save(string token)
        {
            //public string Save(string token)
            //string Object string newObject
            string message = "";



            token = TokenManager.readToken(HttpContext.Current.Request);
            var strP = TokenManager.GetPrincipal(token);

            if (strP != "0") //invalid authorization
            {
                return(TokenManager.GenerateToken(strP));
            }
            else
            {
                string              Object    = "";
                usersLogs           newObject = null;
                IEnumerable <Claim> claims    = TokenManager.getTokenClaims(token);
                foreach (Claim c in claims)
                {
                    if (c.Type == "Object")
                    {
                        Object    = c.Value.Replace("\\", string.Empty);
                        Object    = Object.Trim('"');
                        newObject = JsonConvert.DeserializeObject <usersLogs>(Object, new IsoDateTimeConverter {
                            DateTimeFormat = "dd/MM/yyyy"
                        });
                        break;
                    }
                }
                if (newObject != null)
                {
                    usersLogs tmpObject = null;


                    try
                    {
                        if (newObject.posId == 0 || newObject.posId == null)
                        {
                            Nullable <int> id = null;
                            newObject.posId = id;
                        }
                        if (newObject.userId == 0 || newObject.userId == null)
                        {
                            Nullable <int> id = null;
                            newObject.userId = id;
                        }
                        using (incposdbEntities entity = new incposdbEntities())
                        {
                            var locationEntity = entity.Set <usersLogs>();
                            if (newObject.logId == 0 || newObject.logId == null)
                            {
                                // signIn

                                newObject.sInDate = DateTime.Now;


                                locationEntity.Add(newObject);
                                entity.SaveChanges();
                                message = newObject.logId.ToString();
                                //sign out old user

                                using (incposdbEntities entity2 = new incposdbEntities())
                                {
                                    List <usersLogs> ul        = new List <usersLogs>();
                                    List <usersLogs> locationE = entity2.usersLogs.ToList();
                                    ul = locationE.Where(s => s.sOutDate == null &&
                                                         ((DateTime.Now - (DateTime)s.sInDate).TotalHours >= 8)).ToList();
                                    if (ul != null)
                                    {
                                        foreach (usersLogs row in ul)
                                        {
                                            row.sOutDate = DateTime.Now;
                                            entity2.SaveChanges();
                                        }
                                    }
                                }
                            }



                            else
                            {//signOut
                                tmpObject = entity.usersLogs.Where(p => p.logId == newObject.logId).FirstOrDefault();



                                tmpObject.logId = newObject.logId;
                                //  tmpObject.sInDate=newObject.sInDate;
                                tmpObject.sOutDate = DateTime.Now;
                                //    tmpObject.posId=newObject.posId;
                                //  tmpObject.userId = newObject.userId;


                                entity.SaveChanges();

                                message = tmpObject.logId.ToString();
                            }
                            //  entity.SaveChanges();
                        }

                        return(TokenManager.GenerateToken(message));
                    }
                    catch
                    {
                        message = "0";
                        return(TokenManager.GenerateToken(message));
                    }
                }

                return(TokenManager.GenerateToken(message));
            }

            //var re = Request;
            //var headers = re.Headers;
            //string token = "";
            //string message = "";
            //if (headers.Contains("APIKey"))
            //{
            //    token = headers.GetValues("APIKey").First();
            //}
            //Validation validation = new Validation();
            //bool valid = validation.CheckApiKey(token);

            //if (valid)
            //{
            //    Object = Object.Replace("\\", string.Empty);
            //    Object = Object.Trim('"');
            //    usersLogs newObject = JsonConvert.DeserializeObject<usersLogs>(Object, new JsonSerializerSettings { DateParseHandling = DateParseHandling.None });
            //    if (newObject.posId == 0 || newObject.posId == null)
            //    {
            //        Nullable<int> id = null;
            //        newObject.posId = id;
            //    }
            //    if (newObject.userId == 0 || newObject.userId == null)
            //    {
            //        Nullable<int> id = null;
            //        newObject.userId = id;
            //    }



            //    try
            //    {
            //        using (incposdbEntities entity = new incposdbEntities())
            //        {
            //            var locationEntity = entity.Set<usersLogs>();
            //            if (newObject.logId == 0 || newObject.logId == null)
            //            {
            //                // signIn

            //                newObject.sInDate = DateTime.Now;


            //                locationEntity.Add(newObject);
            //                entity.SaveChanges();
            //                message = newObject.logId.ToString();
            //                //sign out old user

            //                using (incposdbEntities entity2 = new incposdbEntities())
            //                {
            //                    List<usersLogs> ul = new List<usersLogs>();
            //                    List<usersLogs>  locationE = entity2.usersLogs.ToList();
            //                    ul = locationE.Where(s => s.sOutDate == null &&
            //                   ( (DateTime.Now-(DateTime)s.sInDate).TotalHours>=24)).ToList();
            //                    if (ul != null)
            //                    {
            //                        foreach(usersLogs row in ul)
            //                        {
            //                            row.sOutDate = DateTime.Now;
            //                            entity2.SaveChanges();
            //                        }
            //                    }
            //                }

            //                }



            //            else
            //            {//signOut
            //                var tmpObject = entity.usersLogs.Where(p => p.logId == newObject.logId).FirstOrDefault();



            //                tmpObject.logId = newObject.logId;
            //               //  tmpObject.sInDate=newObject.sInDate;
            //                 tmpObject.sOutDate= DateTime.Now;
            //             //    tmpObject.posId=newObject.posId;
            //              //  tmpObject.userId = newObject.userId;


            //                entity.SaveChanges();

            //                message = tmpObject.logId.ToString();
            //            }
            //          //  entity.SaveChanges();
            //        }
            //    }
            //    catch
            //    {
            //        message = "-1";
            //    }
            //}
            //return message;
        }
        public string Delete(string token)
        {
            //public string Delete(string token)int logId, int userId,bool final
            //int Id, int userId
            string message = "";



            token = TokenManager.readToken(HttpContext.Current.Request);
            var strP = TokenManager.GetPrincipal(token);

            if (strP != "0") //invalid authorization
            {
                return(TokenManager.GenerateToken(strP));
            }
            else
            {
                int  logId  = 0;
                int  userId = 0;
                bool final  = false;

                IEnumerable <Claim> claims = TokenManager.getTokenClaims(token);
                foreach (Claim c in claims)
                {
                    if (c.Type == "logId")
                    {
                        logId = int.Parse(c.Value);
                    }
                    else if (c.Type == "userId")
                    {
                        userId = int.Parse(c.Value);
                    }
                    else if (c.Type == "final")
                    {
                        final = bool.Parse(c.Value);
                    }
                }

                try
                {
                    if (final)
                    {
                        using (incposdbEntities entity = new incposdbEntities())
                        {
                            usersLogs objectDelete = entity.usersLogs.Find(logId);

                            entity.usersLogs.Remove(objectDelete);
                            message = entity.SaveChanges().ToString();

                            //   return TokenManager.GenerateToken(message);
                        }

                        return(TokenManager.GenerateToken(message));
                    }
                    else
                    {
                        return(TokenManager.GenerateToken("-2"));
                    }
                }
                catch
                {
                    return(TokenManager.GenerateToken("0"));
                }
            }
            //var re = Request;
            //var headers = re.Headers;
            //string token = "";
            //int message = 0;
            //if (headers.Contains("APIKey"))
            //{
            //    token = headers.GetValues("APIKey").First();
            //}

            //Validation validation = new Validation();
            //bool valid = validation.CheckApiKey(token);
            //if (valid)
            //{
            //    if (final)
            //    {
            //        try
            //        {
            //            using (incposdbEntities entity = new incposdbEntities())
            //            {
            //                usersLogs objectDelete = entity.usersLogs.Find(logId);

            //                entity.usersLogs.Remove(objectDelete);
            //            message=    entity.SaveChanges();

            //                return message.ToString();
            //            }
            //        }
            //        catch
            //        {
            //            return "-1";
            //        }
            //    }
            //    return "-2";

            //}
            //else
            //    return "-3";
        }
예제 #5
0
        public string getrestore(string token)
        {
            string message = "";

            token = TokenManager.readToken(HttpContext.Current.Request);
            var strP = TokenManager.GetPrincipal(token);

            if (strP != "0") //invalid authorization
            {
                return(TokenManager.GenerateToken(strP));
            }
            else
            {
                int logId = 0;

                UsersLogsController logcntrlr    = new UsersLogsController();
                usersLogs           logITEM      = new usersLogs();
                BackupModel         restoremodel = new BackupModel();

                IEnumerable <Claim> claims = TokenManager.getTokenClaims(token);
                foreach (Claim c in claims)
                {
                    if (c.Type == "logId")
                    {
                        logId = int.Parse(c.Value);
                    }
                    if (c.Type == "fileName")
                    {
                        restoreFilename = c.Value;
                    }
                }
                //get log row befor restore operation
                logITEM = logcntrlr.GetByID(logId);



                try
                {
                    //decode
                    string sourcpath = "";
                    string destpath  = "";

                    bool   decres   = false;
                    string direpath = System.Web.Hosting.HostingEnvironment.MapPath("~\\images\\temp\\");
                    string destfile = "file" + DateTime.Now.ToFileTime() + ".bak";

                    sourcpath = Path.Combine(direpath, restoreFilename);
                    destpath  = Path.Combine(direpath, destfile);
                    //  var files = Directory.GetFiles(System.Web.Hosting.HostingEnvironment.MapPath("~\\images\\temp\\"), filename);


                    if (File.Exists(sourcpath))
                    {
                        //decode file
                        //   decres=decodefile()
                        decres = decodefile(sourcpath, destpath);
                        // delete after decode
                        File.Delete(sourcpath);

                        if (File.Exists(destpath) && decres == true)
                        {
                            //restore
                            message = restoreDB(destpath);
                            // delete after restore
                            File.Delete(destpath);
                            if (message == "1")
                            {
                                logITEM.logId = 0;
                                //save newlog row and return the logId
                                logId = int.Parse(logcntrlr.Save(logITEM));
                            }
                        }
                        else
                        {
                            message = "0";
                        }
                    }
                    else
                    {
                        message = "0";
                    }

                    restoremodel.logId  = logId;
                    restoremodel.result = message;
                    //restoremodel.fileName = filename;

                    return(TokenManager.GenerateToken(restoremodel));
                }
                catch (Exception ex)
                {
                    restoremodel.logId  = logId;
                    restoremodel.result = ex.ToString();
                    //  restoremodel.fileName = filename;
                    return(TokenManager.GenerateToken(restoremodel));
                }
            }
        }