Exemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                ApiLoginRequest parm = new ApiLoginRequest();
                using (StreamReader sr = new StreamReader(context.Request.InputStream))
                {
                    String data = sr.ReadToEnd();
                    parm = new JavaScriptSerializer().Deserialize <ApiLoginRequest>(data);
                }

                ApiLoginResponse ap = new ApiLoginResponse();
                using (DLSMEntities db = new DLSMEntities())
                {
                    using (var dbContextTransaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            var passold  = parm.passWord;
                            var bytes    = new UTF8Encoding().GetBytes(parm.passWord);
                            var hasBytes = System.Security.Cryptography.MD5.Create().ComputeHash(bytes);
                            var hashpass = Convert.ToBase64String(hasBytes);
                            parm.passWord = hashpass;

                            if (CodeConfig == "1")
                            {
                                _mdmServiceWrapper.AuthenticationUserAsync(new MdmAuthenticationInput())

                                DLSM.MdmServiceTest.MdmUserServiceClient soap = new DLSM.MdmServiceTest.MdmUserServiceClient();

                                try
                                {
                                    MdmServiceTest.authenUser client = new MdmServiceTest.authenUser();

                                    authenUserBean bean = new authenUserBean();
                                    bean.userId    = parm.userName;
                                    bean.password  = passold;
                                    bean.ipAddress = ip;

                                    //bean.userId = "3859900089704";
                                    //bean.password = "******";

                                    AuthenticationInput input = new AuthenticationInput();
                                    input.userId   = uid;
                                    input.password = upw;

                                    AuthenUserInput aut = new AuthenUserInput();
                                    aut.authenticationInput = input;
                                    aut.authenUserBeanInput = bean;

                                    authenUser au = new authenUser();
                                    au.AuthenUserInput = aut;

                                    authenUserResponse resp = soap.authenUser(au);
                                    if (resp.AuthenUserOutput.authenUserResponse.@return.authenUserResult.ToString() == "True")
                                    {
                                        try
                                        {
                                            MdmServiceTest.getUserInfo clientget = new MdmServiceTest.getUserInfo();

                                            getUserInfoBean beanget = new getUserInfoBean();
                                            beanget.authenUserToken = [email protected];

                                            GetUserInfoInput inputget = new GetUserInfoInput();
                                            inputget.getUserInfoBeanInput = beanget;
                                            inputget.authenticationInput  = input;

                                            clientget.GetUserInfoInput = inputget;

                                            getUserInfoResponse respget = soap.getUserInfo(clientget);
                                            if (respget.GetUserInfoOutput.getUserInfoResponse.@return.name.ToString() != "")
                                            {
                                                try
                                                {
                                                    GetUserInfo gui = new GetUserInfo();
                                                    gui.Title          = [email protected];
                                                    gui.Name           = [email protected];
                                                    gui.Surname        = [email protected];
                                                    gui.OffLocCode     = [email protected];
                                                    gui.OffLocDesc     = [email protected];
                                                    gui.OrgFullNameDes = respget.GetUserInfoOutput.getUserInfoResponse.@return.orgFullNameDes;
                                                    gui.PositionDesc   = respget.GetUserInfoOutput.getUserInfoResponse.@return.positionDesc;
                                                    db.GetUserInfoes.Add(gui);
                                                    db.SaveChanges();
                                                }
                                                catch (Exception ex)
                                                {
                                                    dbContextTransaction.Rollback();
                                                    ap.valid_authen = "0";
                                                    ap.message      = "GetUserInfo Error";
                                                }
                                            }
                                            else
                                            {
                                                ap.valid_authen = "0";
                                                ap.message      = "getUserInfo Error";
                                            }
                                        }
                                        catch (Exception ex)
                                        {
                                            ap.valid_authen = "0";
                                            ap.message      = "authenUser Error";
                                        }
                                    }
                                    else
                                    {
                                        ap.valid_authen = "0";
                                        ap.message      = resp.AuthenUserOutput.authenUserResponse.@return.authenUserResult.ToString();
                                    }
                                }
                                catch (Exception ex)
                                {
                                    dbContextTransaction.Rollback();
                                    ap.valid_authen = "0";
                                    ap.message      = "authenUser Error";
                                }
                            }
                            //else
                            //{
                            //    //ไม่วิ่งผ่าน mdmservice
                            //    parm.passWord = null;
                            //}
                        }
                        finally
                        {
                            try
                            {
                                var result = db.sp_ApiLogin(parm.userName, parm.passWord, parm.workStationName).ToList();
                                if (result.Count() > 0)
                                {
                                    ap.WH_ID             = "" + result[0].WH_ID;
                                    ap.userName          = result[0].userName;
                                    ap.staffId           = "" + result[0].staffId;
                                    ap.Offname           = result[0].OffName;
                                    ap.regisIdNumb       = result[0].regisIdNumb;
                                    ap.regisFirstName    = result[0].regisFirstName;
                                    ap.regisLastName     = result[0].regisLastName;
                                    ap.regisFirstNameENG = result[0].regisFirstNameENG;
                                    ap.regisLastNameENG  = result[0].regisLastNameENG;
                                    ap.titleName         = result[0].titleName;
                                    ap.titleNameENG      = result[0].titleNameENG;
                                    ap.workstationId     = "" + result[0].workstationId;
                                    ap.workstationName   = result[0].workstationName;
                                    ap.officeCode        = result[0].officeCode;
                                    ap.printerName       = result[0].printerName;
                                    ap.printerIP         = result[0].printerIP;
                                    ap.valid_authen      = "1";
                                    ap.authorized        = "" + result[0].authorized;
                                    ap.camaraName        = result[0].camaraName;
                                    ap.cameraSerialNo    = result[0].cameraSerialNo;
                                    ap.androidName       = result[0].androidName;
                                    ap.anroidSerialNo    = result[0].anroidSerialNo;
                                    ap.signImage         = result[0].signImage;
                                    ap.message           = "OK";

                                    dbContextTransaction.Commit();
                                }
                                else
                                {
                                    dbContextTransaction.Rollback();
                                    ap.valid_authen = "0";
                                    ap.message      = "not found";
                                }
                            }
                            catch (Exception ex)
                            {
                                dbContextTransaction.Rollback();
                                ap.valid_authen = "0";
                                ap.message      = ex.InnerException == null ? (ex.Message == null ? "Error: Login catch 2" : ex.Message) : ex.InnerException.Message;
                            }
                        }
                    }
                }
                string json = new JavaScriptSerializer().Serialize(ap);

                context.Response.ContentType = "text/javascript";
                context.Response.Write(json);
            }
            catch (Exception ex)
            {
                ApiLoginResponse ap = new ApiLoginResponse();
                ap.valid_authen = "0";
                ap.message      = ex.InnerException == null ? (ex.Message == null ? "Error: Login catch 1" : ex.Message) : ex.InnerException.Message;

                string json = new JavaScriptSerializer().Serialize(ap);
                context.Response.ContentType = "text/javascript";
                context.Response.Write(json);
            }
        }
Exemplo n.º 2
0
        public HttpResponseMessage Get()
        {
            HttpResponseMessage message  = null;
            getUserInfoResponse response = new getUserInfoResponse();
            string token = HttpContext.Current.Request.Headers["Authorization"].Replace("Bearer ", "").Trim();

            try
            {
                //string userCardNo = string.Empty;
                if (dbconn.idbCheck(out dbres))
                {
                    string userCardNo  = string.Empty;
                    string userAdminNo = string.Empty;
                    if (dbconn.checkToken(token, out userCardNo, out userAdminNo))
                    {
                        DataTable dt = dbconn.getTable(appServiceQry._getUserInfoByCardNo(userCardNo));
                        if (dt.Rows.Count != 0)
                        {
                            response.userFirstName = dt.Rows[0]["SUBSCRIBER_FNAME"].ToString();
                            response.userLastName  = dt.Rows[0]["SUBSCRIBER_LNAME"].ToString();
                            response.userRegNo     = dt.Rows[0]["CERTIFICATE_NO"].ToString();
                            response.adminNumber   = dt.Rows[0]["PHONE_NO"].ToString();
                            string cardno = dt.Rows[0]["CARD_NO"].ToString();
                            response.cardNo = cardno;
                            List <Products> prodList    = new List <Products>();
                            List <Products> addProdList = new List <Products>();
                            List <Counters> counterList = new List <Counters>();
                            DataTable       dtProd      = dbconn.getTable(appServiceQry._getProducts(cardno));
                            foreach (DataRow item in dtProd.Rows)
                            {
                                Products prodObj  = new Products();
                                string   prodName = item["PRODUCT_NAME_MON"].ToString();
                                string   prodId   = item["PRODUCT_ID"].ToString();
                                string   endDate  = item["ENDDATE"].ToString();
                                string   orderNo  = item["ORDERING"].ToString();
                                if (prodId != "65")
                                {
                                    prodObj.productName = prodName;
                                    prodObj.productId   = prodId;
                                    prodObj.endDate     = endDate;
                                    prodObj.orderingNo  = orderNo;
                                    bool ismain = false;
                                    switch (prodId)
                                    {
                                    case "28":
                                        ismain = true;
                                        break;

                                    case "27":
                                        ismain = true;
                                        break;

                                    case "29":
                                        ismain = true;
                                        break;

                                    case "73":
                                        ismain = true;
                                        break;

                                    default:
                                        ismain = false;
                                        break;
                                    }
                                    prodObj.isMain = ismain;
                                    if (ismain)
                                    {
                                        prodList.Add(prodObj);
                                    }
                                    else
                                    {
                                        addProdList.Add(prodObj);
                                    }
                                }
                            }
                            DataTable dtCounter = dbconn.getTable(appServiceQry._getPromoCounters(cardno));
                            foreach (DataRow dr in dtCounter.Rows)
                            {
                                Counters cntr    = new Counters();
                                string   cName   = dr["NAME"].ToString();
                                string   cId     = dr["COUNTER_ID"].ToString();
                                string   balance = dr["COUNTER_AMOUNT"].ToString();
                                string   expDate = dr["EXPIREDATE"].ToString();
                                string   unit    = dr["MEASUREUNIT"].ToString();
                                cntr.counterName        = cName;
                                cntr.counterBalance     = balance;
                                cntr.countId            = cId;
                                cntr.counterMeasureUnit = unit;
                                cntr.counterExpireDate  = expDate;
                                bool ismain = false;
                                if (cId == "1001")
                                {
                                    ismain = true;
                                }
                                cntr.isMain = ismain;
                                counterList.Add(cntr);
                            }
                            response.isSuccess          = true;
                            response.resultCode         = HttpStatusCode.OK.ToString();
                            response.resultMessage      = "success";
                            response.activeProducts     = prodList;
                            response.additionalProducts = addProdList;
                            response.activeCounters     = counterList;
                        }
                        else
                        {
                            response.isSuccess     = false;
                            response.resultCode    = HttpStatusCode.NotFound.ToString();
                            response.resultMessage = "Хэрэглэгч олдсонгүй.";
                        }
                    }
                    else
                    {
                        response.isSuccess     = false;
                        response.resultCode    = HttpStatusCode.Unauthorized.ToString();
                        response.resultMessage = appConstantValues.MSG_EXPIRED;
                    }
                }
                else
                {
                    response.isSuccess     = false;
                    response.resultCode    = HttpStatusCode.NotFound.ToString();
                    response.resultMessage = dbres;
                }
            }
            catch (Exception ex)
            {
                response.isSuccess     = false;
                response.resultCode    = HttpStatusCode.NotFound.ToString();
                response.resultMessage = ex.Message;
                exceptionManager.ManageException(ex, TAG);
            }
            message = Request.CreateResponse(HttpStatusCode.OK, response);
            LogWriter._userInfo(TAG, string.Format("IP: [{0}], Request: [{1}], Response: [{2}], Token: [{3}]", httpUtil.GetClientIPAddress(HttpContext.Current.Request), "", serialzer.Serialize(response), token));
            return(message);
        }