예제 #1
0
 override public void RegistInstants(params object[] instants)
 {
     if (instants.Length > 0)
     {
         this.admuserroleContract = (AdmUserroleContract)(instants[0]);
     }
 }
예제 #2
0
        public HttpResponseMessage Save(string userJson, string roleIds)
        {
            string          userId     = "";
            string          errMessage = "";
            AdmUserContract userDTO    = JsonConvert.DeserializeObject <AdmUserContract>(userJson);

            string[]       selectedRoles = JsonConvert.DeserializeObject <string[]>(roleIds);
            SqlTransaction tran          = DataProvider.beginTrans();

            try
            {
                businessRule.RegistInstants(userDTO);
                userDTO.Sitemap = buildSiteMap(selectedRoles);
                if (userDTO.Id > 0)
                {
                    userId = userDT.Update(userDTO, tran);
                }
                else
                {
                    businessRule.RegistRule("Insert");
                    if (businessRule.CheckRules(out errMessage))
                    {
                        userId = userDT.Insert(userDTO);
                    }
                    else
                    {
                        return(handleBRFailed(errMessage, tran));
                    }
                }
                if (Converter.ToInt32(userId) > 0)
                {
                    deleteOldRoles(userId, tran);
                    foreach (string roleId in selectedRoles)
                    {
                        AdmUserroleContract userRoleDTO = new AdmUserroleContract()
                        {
                            Userid = Converter.ToInt32(userId), Roleid = Converter.ToInt32(roleId)
                        };
                        userRoleDT.Insert(userRoleDTO, tran);
                    }
                }
                DataProvider.CommitTrans(tran);
            }
            catch (Exception e)
            {
                DataProvider.RollbackTrans(tran);
                ExceptionHandler.Log(e);
            }
            return(Request.CreateResponse <string>(HttpStatusCode.OK, errMessage != string.Empty ? errMessage : userId));
        }
예제 #3
0
        /// <summary>
        /// Cập nhật thông tin đối tượng
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public string Update(AdmUserroleContract admuserrole, SqlTransaction tran = null)
        {
            string query = String.Format("UPDATE " + TableName + @" SET UserID={0},RoleID={1}
                            WHERE ID=" + admuserrole.Id.ToString(),
                                         (admuserrole.Userid != null? admuserrole.Userid.ToString() : "null").ToString(),
                                         (admuserrole.Roleid != null? admuserrole.Roleid.ToString() : "null").ToString());

            if (tran == null)
            {
                DataProvider.ExecuteNonQuery(query);
            }
            else
            {
                DataProvider.ExecuteNonQueryWithTransaction(query, tran);
            }
            return(admuserrole.Id.ToString());
        }
예제 #4
0
        public HttpResponseMessage Save(string admuserroleJson)
        {
            string errMessage = string.Empty;

            try
            { AdmUserroleContract admuserrole = JsonConvert.DeserializeObject <AdmUserroleContract>(admuserroleJson);
              businessRule.RegistInstants(admuserrole);
              if (admuserrole.Id == 0)
              {
                  businessRule.RegistRule("Insert");
                  if (businessRule.CheckRules(out errMessage))
                  {
                      return(Request.CreateResponse <string>(HttpStatusCode.OK, dta.Insert(admuserrole)));
                  }
                  else
                  {
                      return(handleBRFailed(errMessage));
                  }
              }
              else
              {
                  businessRule.RegistRule("Update");
                  if (businessRule.CheckRules(out errMessage))
                  {
                      return(Request.CreateResponse <string>(HttpStatusCode.OK, dta.Update(admuserrole)));
                  }
                  else
                  {
                      return(handleBRFailed(errMessage));
                  }
              } }
            catch (Exception e)
            {
                ExceptionHandler.Log(e);
                return(Request.CreateResponse <string>(HttpStatusCode.OK, "Có lỗi xảy ra trên chương trình."));
            }
        }
예제 #5
0
        /// <summary>
        /// Insert đối tượng vào database
        /// </summary>
        /// <param name="menu"></param>
        /// <returns></returns>
        public string Insert(AdmUserroleContract admuserrole, SqlTransaction tran = null)
        {
            DataTable dtResult = null;
            string    query    = string.Format(@"INSERT INTO Adm_UserRole
                                        VALUES ({0},{1})",

                                               (admuserrole.Userid != null? admuserrole.Userid.ToString() : "null").ToString(),
                                               (admuserrole.Roleid != null? admuserrole.Roleid.ToString() : "null").ToString());

            query += " ; select SCOPE_IDENTITY();";
            if (tran == null)
            {
                dtResult = DataProvider.ExecuteQuery(query);
            }
            else
            {
                dtResult = DataProvider.ExecuteQueryWithTransaction(query, tran);
            }
            if (dtResult != null && dtResult.Rows.Count > 0)
            {
                return(dtResult.Rows[0][0].ToString());
            }
            return("");
        }
예제 #6
0
 public AdmUserroleRule ValidateInstant(AdmUserroleContract dto)
 {
     return(this);
 }