// PUT: odata/Accounts(5)
        public IHttpActionResult Put([FromODataUri] string key, SYS_Account delta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            SYS_Account model = db.Get(key).First();

            if (model == null)
            {
                return(NotFound());
            }
            delta.Username = model.Username;
            db.Update(delta);

            try
            {
                db.SaveToDb();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Exists(key))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Updated(model));
        }
        // POST: odata/Accounts
        public IHttpActionResult Post(SYS_Account model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var addedEntity = this.db.Add(model);

            try
            {
                this.db.SaveToDb();
            }
            catch (DbUpdateException)
            {
                if (Exists(model.Username))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Created(model));
        }
예제 #3
0
        public List <LayerInfo> LayerInfos(SYS_Account account)
        {
            try
            {
                using (var context = new SystemEntities())
                {
                    var query = from la in context.SYS_Layer_Account
                                join lyr in context.SYS_Layer on la.Layer equals lyr.ID
                                join gr in context.SYS_GroupLayer on lyr.GroupID equals gr.ID into igr
                                from gr in igr.DefaultIfEmpty()
                                where la.Account == account.Username
                                orderby lyr.NumericalOder
                                select new LayerInfo
                    {
                        LayerID    = lyr.ID,
                        LayerTitle = lyr.Title,
                        IsView     = la.IsView.HasValue ? la.IsView.Value : false,
                        IsCreate   = la.IsCreate.HasValue ? la.IsCreate.Value : false,
                        IsDelete   = la.IsDelete.HasValue ? la.IsDelete.Value : false,
                        IsEdit     = la.IsEdit.HasValue ? la.IsEdit.Value : false,
                        Definition = String.IsNullOrEmpty(la.Definition) ? null : la.Definition.Replace("\"", "'"),
                        Url        = lyr.Url,
                        OutFields  = la.OutFields,
                        GroupID    = gr.ID,
                        GroupName  = gr.Name
                    };

                    return(query.ToList());
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #4
0
        public SYS_Account Get(JObject json)
        {
            var         model  = JsonToObject <SYS_Account>(json);
            SYS_Account _model = DPBase.Get <SYS_Account>(model.ACC_Id);

            return(_model);
        }
예제 #5
0
        public HttpResponseMessage Authenticate([FromBody] LoginRequest login)
        {
            var loginResponse        = new LoginResponse {
            };
            SYS_Account loginRequest = new SYS_Account {
                Username = login.Username.ToLower(),
                Password = login.Password
            };

            bool isUsernamePasswordValid = false;

            if (login != null)
            {
                try
                {
                    isUsernamePasswordValid = provider.IsValid(loginRequest) != null;
                }
                catch (Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
                }
            }

            // if credentials are valid
            if (isUsernamePasswordValid)
            {
                string token = CreateToken(loginRequest.Username);
                //return the token
                return(Request.CreateResponse(HttpStatusCode.OK, token));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Tài khoản hoặc mật khẩu không đúng"));
            }
        }
예제 #6
0
        public Flexigride GetJson(JObject json)
        {
            SearchMod <SYS_Account> searchModel = new SearchMod <SYS_Account>();

            searchModel.page      = Convert.ToInt32(json["page"].ToString()); //当前页
            searchModel.rp        = Convert.ToInt32(json["rp"].ToString());   //页面大小
            searchModel.sortorder = json["sortorder"].ToString();             //排序字段
            searchModel.sortname  = json["sortname"].ToString();              //排序方式

            SYS_Account model = JsonToObject <SYS_Account>(json);
            IQueryable <SYS_Account> query = DPBase.db.SYS_Account;

            query = string.IsNullOrEmpty(searchModel.sortorder) ? query.OrderByDescending(c => searchModel.sortorder) : query.OrderBy(c => searchModel.sortorder);
            if (!string.IsNullOrEmpty(model.ACC_Account))
            {
                query = query.Where(c => c.ACC_Account.Contains(model.ACC_Account));
            }
            if (!string.IsNullOrEmpty(model.ACC_Email))
            {
                query = query.Where(c => c.ACC_Email.Contains(model.ACC_Email));
            }
            searchModel.query = query;
            Flexigride grid = new Flexigride();

            grid.rows  = DPBase.DPGetQueryLst(searchModel, out searchModel);
            grid.page  = searchModel.page;
            grid.total = searchModel.total;
            return(grid);
        }
예제 #7
0
        public string Edit(JObject json)
        {
            SYS_Account model = JsonToObject <SYS_Account>(json);

            model.ACC_Password = model.ACC_Password == "" ? "" : ANTPower.Security.Encrypt.StrToMd5Encrypt(model.ACC_Password);
            return(DPBase.Update(model) ? "新增成功!" : "新增失败");
        }
예제 #8
0
        public int Add(JObject json)
        {
            SYS_Account model = JsonToObject <SYS_Account>(json);

            model.ACC_CreatedBy = UserSession.userid;  //当前用户
            model.ACC_CreatedOn = DateTime.Now;
            return(DPBase.Add(model));
        }
예제 #9
0
 public HttpResponseMessage Put(string id, [FromBody] SYS_Account value)
 {
     try
     {
         var result = context.Update(id, value);
         return(Request.CreateResponse(HttpStatusCode.OK, result ? value : null));
     }
     catch (Exception e)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
     }
 }
예제 #10
0
 public HttpResponseMessage Post([FromBody] SYS_Account value)
 {
     try
     {
         var result = context.Create(value);
         return(Request.CreateResponse(HttpStatusCode.OK, result));
     }
     catch (Exception e)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
     }
 }
예제 #11
0
        public string ValACCAttribute(JObject json)
        {
            SYS_Account model = JsonToObject <SYS_Account>(json);

            using (NERPEntities context = new NERPEntities())
            {
                IQueryable <SYS_Account> _Account = context.SYS_Account.Where(c => c.ACC_Account == model.ACC_Account);
                if (_Account.Count() > 0)
                {
                    return("1");
                }
                return("0");
            }
        }
예제 #12
0
 public SYS_Account IsValid(SYS_Account account)
 {
     try
     {
         using (var context = new BinhPhuocAccountEntities())
         {
             var sysAccount = context.SYS_Account.FirstOrDefault(f => f.Username.Equals(account.Username, StringComparison.OrdinalIgnoreCase) && f.Password.Equals(account.Password));
             return(sysAccount);
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #13
0
        public HttpResponseMessage Authenticate([FromBody] LoginRequest login)
        {
            var loginResponse        = new LoginResponse {
            };
            SYS_Account loginRequest = new SYS_Account
            {
                Username = login.Username.ToLower(),
                Password = login.Password
            };

            SYS_Account dbAccount = null;

            if (login != null)
            {
                try
                {
                    dbAccount = provider.IsValid(loginRequest);
                }
                catch (Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
                }
            }

            // if credentials are valid
            if (dbAccount != null)
            {
                var    tokenValidator = new TokenValidationHandler();
                string token          = tokenValidator.CreateToken(dbAccount.Username);
                var    loggerDB       = new LoggerCapabilityDB();

                loggerDB.Create(new SYS_Logger_Capability
                {
                    TacVu    = "Đăng nhập",
                    ThoiGian = DateTime.Now,
                    Username = dbAccount.Username
                });
                //return the token
                return(Request.CreateResponse(HttpStatusCode.OK, token));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Tài khoản hoặc mật khẩu không đúng"));
            }
        }
예제 #14
0
 public HttpResponseMessage UpdateProfile(string id, [FromBody] SYS_Account value)
 {
     try
     {
         // lấy account mặc định
         var account = context.Get(id);
         if (value.Password != null)
         {
             account.Password = value.Password;
         }
         account.DisplayName = value.DisplayName;
         var result = context.Update(id, account);
         return(Request.CreateResponse(HttpStatusCode.OK, result ? value : null));
     }
     catch (Exception e)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
     }
 }
예제 #15
0
        public SYS_Account IsValid(SYS_Account account)
        {
            try
            {
                using (var context = new SystemEntities())
                {
                    var isDomainAccount = this.IsDomainAccount(account.Username);

                    // nếu trong dữ liệu user bắt đầu bằng LADP
                    if (isDomainAccount)
                    {
                        var userName = account.Username;
                        var isValid  = new LoginAD().IsValid(userName, account.Password);
                        if (isValid)
                        {
                            return(this.Get(LADP + account.Username));
                        }
                        else
                        {
                            return(null);
                        }
                    }


                    var password   = Helper.MD5.CryptoPassword(account.Password);
                    var sysAccount = context.SYS_Account.
                                     FirstOrDefault(
                        f =>
                        f.Username.Equals(account.Username, StringComparison.OrdinalIgnoreCase) &&
                        f.Password.Equals(password));
                    return(sysAccount);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }