Ejemplo n.º 1
0
        //Fund Transfer
        public List <DL_TransferFundReturn> TransferFund(DL_TransferFund fund)
        {
            this.SpName = DL_StoreProcedure.SP_DHS_API_TransferFund; //Sp Name
            fundReturn  = new List <DL_TransferFundReturn>();
            _IsSuccess  = true;
            try
            {
                SqlParameter[] param = new SqlParameter[5];
                param[0] = new SqlParameter("@UserId", fund.UserId);
                param[1] = new SqlParameter("@MobileTo", fund.MobileTo);
                param[2] = new SqlParameter("@Amount", fund.Amount);
                param[3] = new SqlParameter("@Date", indianTime);
                param[4] = new SqlParameter("@Source", 1);

                ds = db.GetDataSet(this.SpName, param);
                if (ds != null && ds.Tables.Count > 0)
                {
                    //ds.Tables
                    var Json = JsonConvert.SerializeObject(ds.Tables[0]);
                    fundReturn = JsonConvert.DeserializeObject <List <DL_TransferFundReturn> >(Json);
                    string reMobile = ds.Tables[0].Rows[0]["Mobile"].ToString();
                    string status   = ds.Tables[0].Rows[0]["Status"].ToString();
                    if (status == "2" || status == "1")
                    {
                        //Added Task for SMS message
                        //Modified : SMS template
                        //By : Ranjeet | 12-Dec-14
                        Task t = new Task(() =>
                        {
                            //Rs. ##Field## has been successfully transfer to Mobile No. ##Field## User. Crebit Customer Experience Team.
                            string message = "Rs. " + fund.Amount + " has been successfully transfer to Mobile No. " + fund.MobileTo + " User. Crebit Customer Experience Team.";
                            //string message = "Rs." + fund.Amount + "has been successfully transfer to Mobile No. " + fund.MobileTo + " User. Crebit Customer Experience Team.";
                            BL_SMS.SendSMS(reMobile, message);
                            //Rs. ##Field# #has been successfully received from Mobile No. ##Field## User. Crebit Customer Experience Team.
                            message = "Rs. " + fund.Amount + " has been successfully received from Mobile No. " + reMobile + " User. Crebit Customer Experience Team.";
                            BL_SMS.SendSMS(fund.MobileTo, message);
                        });
                        t.Start();//Run task
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.WriteLog(LogLevelL4N.ERROR, "Error @ TransferFund : " + ex.Message);
                _IsSuccess = false;
            }

            return(fundReturn);
        }
        public HttpResponseMessage TransferFund(HttpRequestMessage req, DL_TransferFund fund)
        {
            if (fund != null && !string.IsNullOrEmpty(fund.Amount) && Convert.ToInt32(fund.Amount) > 0 && !string.IsNullOrEmpty(fund.Key) && !string.IsNullOrEmpty(fund.UserId) &&
                !string.IsNullOrEmpty(fund.MobileTo))
            {
                User user = new User()
                {
                    Password = fund.Key, UserId = fund.UserId
                };
                Validation.UserCheck(user);
                if (Validation._IsSuccess)
                {
                    try
                    {
                        if (fund != null && !string.IsNullOrEmpty(fund.UserId) && !string.IsNullOrEmpty(fund.Key) &&
                            !string.IsNullOrEmpty(fund.MobileTo) && !string.IsNullOrEmpty(fund.Amount))
                        {
                            List <DL_TransferFundReturn> fundReturn = dash.TransferFund(fund);
                            if (dash._IsSuccess)
                            {
                                return(req.CreateResponse <List <DL_TransferFundReturn> >(HttpStatusCode.OK, fundReturn));
                            }
                            else
                            {
                                return(req.CreateErrorResponse(HttpStatusCode.InternalServerError, "ServerError"));
                            }
                        }
                        Logger.WriteLog(LogLevelL4N.FATAL, "Bad Request");
                        return(req.CreateResponse(HttpStatusCode.BadRequest, "Bad Request"));
                    }
                    catch (Exception ex)
                    {
                        Logger.WriteLog(LogLevelL4N.ERROR, "Inside the TransferFund api | Error : " + ex.Message);
                    }
                }

                Logger.WriteLog(LogLevelL4N.FATAL, "Unauthorized Request");
                return(req.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized"));
            }
            Logger.WriteLog(LogLevelL4N.FATAL, "Bad Request");
            return(req.CreateResponse(HttpStatusCode.BadRequest, "Bad Request"));
        }