public ActionResult UpdateBaseQuota(string state) { using (var db = new EchoContext()) { IEnumerable <Quota> quotas = db.Quotas.Where(x => x.Quota_Type_Cd.Equals("B")); string user_no = Session["User_No"].ToString(); foreach (var item in quotas) { string fv = Request.Form["Quota_Freq_Val_" + item.Quota_Cd]; string dv = Request.Form["Quota_Dur_Val_" + item.Quota_Cd]; try { item.Quota_Freq_Val = Convert.ToByte(fv); item.Quota_Dur_Val = Convert.ToByte(dv); item.Updated_By = user_no; item.Updated_Dttm = DateTime.Now; db.Entry(item).State = EntityState.Modified; } catch { return(View(quotas)); } } db.SaveChanges(); FreebieEvent.UserUpdateEvent(Permission.base_quota_page_id, "A04"); return(RedirectToAction("BaseQuota")); } }
//private static EchoContext db = new EchoContext(); public static bool is_service_disabled() { using (var val_db = new EchoContext()) { bool result = false; AdminConfiguration ac = val_db.AdminConfigurations.SingleOrDefault(); if (ac == null) { ac = new AdminConfiguration(); } DateTime utc_now = DateTime.UtcNow; //TimeZoneInfo bkk = TimeZoneInfo.FindSystemTimeZoneById("S.E. Asia Standard Time"); DateTime now = utc_now.AddHours(7); TimeSpan disabled_start = (TimeSpan)ac.Regist_Disable_StartTime; TimeSpan disabled_end = (TimeSpan)ac.Regist_Disable_EndTime; if (disabled_end < disabled_start) { disabled_end = disabled_end.Add(new TimeSpan(24, 0, 0)); } TimeSpan disabled_span = disabled_end - disabled_start; DateTime start_at = new DateTime(now.Year, now.Month, now.Day, disabled_start.Hours, disabled_start.Minutes, disabled_start.Seconds); DateTime end_at = start_at.Add(disabled_span); if (start_at <= now && now <= end_at) { result = true; } return(result); } }
public ActionResult UpdateActivationLimit() { using (var db = new EchoContext()) { ActivationLimit al = new ActivationLimit(); var date = DateTime.Now.Date; AccountActivation aa = db.AccountActivations.Where(x => x.Date.Equals(date)).SingleOrDefault(); if (aa == null) { aa = new AccountActivation(); } AdminConfiguration ac = db.AdminConfigurations.SingleOrDefault(); if (ac == null) { ac = new AdminConfiguration(); } al.no_activation = aa.No_Activation; al.no_activation_pending = aa.No_Activation_Pending; al.no_activation_acc = aa.No_Activation_Acc; al.no_activation_limit_total = ac.No_Activation_Limit_Total; al.no_activation_limit_daily = ac.No_Activation_Limit_Daily; return(View(al)); } }
public ActionResult FreeTrialQuota() { using (var db = new EchoContext()) { TrialQuota tq = new TrialQuota(); var today = DateTime.Now.Date; AccountTrial today_acctt = db.AccountTrials.SingleOrDefault(x => x.Date.Equals(today)); if (today_acctt == null) { today_acctt = new AccountTrial(); } AdminConfiguration ac = db.AdminConfigurations.SingleOrDefault(); if (ac == null) { ac = new AdminConfiguration(); } tq.no_trial_used = today_acctt.No_Trial_Used; tq.no_trial_acc = today_acctt.No_Trial_Used_Acc; tq.trial_limit_total = ac.Trial_Limit_Total; tq.trial_dur_val = ac.Trial_Dur_Val; tq.trial_enable_flag = ac.Trial_Enable_Flag; return(View(tq)); } }
public static void AccountCreateEvent(Account new_account, string mobile_no, byte?page_id) { using (var db = new EchoContext()) { string event_action = "A03"; string account_no = null; string user_no = null; if (HttpContext.Current.Session["Account_No"] != null) { account_no = HttpContext.Current.Session["Account_No"].ToString(); } if (HttpContext.Current.Session["User_No"] != null) { user_no = HttpContext.Current.Session["User_No"].ToString(); } EventLog log = new EventLog(); log.Action_Cd = event_action; log.Identification_Number = new_account.Identification_Number; log.Mobile_Number = mobile_no; log.Account_Status_Cd = new_account.Status_Cd; log.Account_No = new_account.Account_No; log.User_No = user_no; if (page_id != null) { log.Page_Id = page_id; } db.EventLogs.Add(log); db.SaveChanges(); } }
public static string[] SP_Insert_Interact_Profile(int account_id) { //return new string[2] { "0", "-"}; var db = new EchoContext(); string conn_str = db.Database.Connection.ConnectionString; using (SqlConnection conn = new SqlConnection(conn_str)) { conn.Open(); using (var cmd = conn.CreateCommand()) { string storeProceduce = @"[echo].[dbo].[SP_Insert_Interact_Profile]"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = storeProceduce; cmd.Parameters.Add(new SqlParameter("Account_ID", account_id)); var r = cmd.ExecuteReader(); string[] returnResult = new string[2]; while (r.Read()) { returnResult[0] = r.GetString(0); returnResult[1] = r.GetString(1); } return(returnResult); } } }
public void TestBuildContextEncapsulationRoundTrip(string file) { var directMessage = MimeMessage.Load(file); var context = directMessage.DirectContext(); // // Metadata // Assert.Equal("1.0", context.Metadata.Version); Assert.Equal("<*****@*****.**>", context.Metadata.Id); Assert.Equal("hl7v2", context.Metadata.Encapsulation.Type); var encapsulations = Enumerable.ToList(directMessage.SelectEncapulations()); Assert.Equal(1, encapsulations.Count()); Assert.Equal(@"MSH |^ ~\&| SENDING_APPLICATION | SENDING_FACILITY | RECEIVING_APPLICATION | RECEIVING_FACILITY | 20110613083617 || ADT ^ A01 | 934576120110613083617 | P | 2.3 |||| EVN | A01 | 20110613083617 ||| PID | 1 || 135769 || MOUSE ^ MICKEY ^|| 19281118 | M ||| 123 Main St.^^ Lake Buena Vista ^ FL ^ 32830 || (407)939 - 1289 ^^^ [email protected] ||||| 1719 | 99999999 |||||||||||||||||||| PV1 | 1 | O |||||^^^^^^^^|^^^^^^^^", encapsulations.Single().DecodeBody()); var echoMessage = EchoContext.Process(directMessage); var messageRebuilt = echoMessage.DirectContext(); AssertEqual(context, messageRebuilt); AssertEqual(Enumerable.ToList(directMessage.SelectEncapulations()), Enumerable.ToList(echoMessage.SelectEncapulations())); }
public static void UpdateMobile(Account account, string mobile_no, string action, byte?page_id) { using (var db = new EchoContext()) { string account_no = null; string user_no = null; if (HttpContext.Current.Session["Account_No"] != null) { account_no = HttpContext.Current.Session["Account_No"].ToString(); } if (HttpContext.Current.Session["User_No"] != null) { user_no = HttpContext.Current.Session["User_No"].ToString(); } string event_action = action; EventLog log = new EventLog(); log.Account_No = account.Account_No; log.User_No = user_no; log.Mobile_Number = mobile_no; log.Action_Cd = event_action; if (page_id != null) { log.Page_Id = page_id; } db.EventLogs.Add(log); db.SaveChanges(); } }
public static int ValidateEmail(string email) { if (string.IsNullOrEmpty(email)) { return(0); } string strPattern = EmailRegEx(); if (!System.Text.RegularExpressions.Regex.IsMatch(email, strPattern)) { return(2); } using (var val_db = new EchoContext()) { var check_email = val_db.Accounts.SingleOrDefault(a => a.User_Name == email); if (check_email == null) { return(3); } } return(1); }
public ActionResult UpdateBaseQuota() { using (var db = new EchoContext()) { IEnumerable <Quota> quotas = db.Quotas.Where(x => x.Quota_Type_Cd.Equals("B")); return(View(quotas.ToList())); } }
public static void AddCustomError(string err_str, byte page_id) { using (var db = new EchoContext()) { string event_action = "A06"; EventLog error_log = new EventLog(); error_log.Error_Msg = err_str; error_log.Action_Cd = event_action; error_log.Page_Id = page_id; db.EventLogs.Add(error_log); db.SaveChanges(); } }
public bool Receive(ISmtpMessage data) { var message = data.GetEnvelope().Message; if (message.IsDSN()) { Log.For <LoopBackContext>().Debug("Ignore DSN"); return(true); } if (message.IsMDN()) { Log.For <LoopBackContext>().Debug("Ignore MDN"); return(true); } var directMessage = MimeMessage.Load(message.ToString().ToStream()); try { if (!directMessage.ContainsDirectContext()) { Log.For <LoopBackContext>() .Warn($"Message does not contain context. MessageId={directMessage.MessageId}"); var dsnMessage = ReturnNoContextMessage(directMessage, @"No Context found"); DropMessage(dsnMessage); return(true); } var pongMessage = EchoContext.Process(directMessage); DropMessage(pongMessage); Log.For <LoopBackContext>() .Info($"Message context pong response. MessageId={pongMessage.MessageId} RelatesToMessageId={message.ID}"); } catch (Exception ex) { Log.For <LoopBackContext>() .Error($"Message exception. MessageId={message.ID} :: Exception: {ex}"); var dsnMessage = ReturnNoContextMessage(directMessage, ex.Message); DropMessage(dsnMessage); } return(true); }
// account login/logout public static void AccountEvent(Account account, string action, byte?page_id) { using (var db = new EchoContext()) { string event_action = action; EventLog log = new EventLog(); log.Account_No = account.Account_No; log.Action_Cd = event_action; if (page_id != null) { log.Page_Id = page_id; } db.EventLogs.Add(log); db.SaveChanges(); } }
public static int ValidateOTP(string phone_number, string otp_pwd) { /* returning value * 0 - pass * 1 - failed, try again * 2 - failed, start over * 3 - expired, start over */ long number = Convert.ToInt64(phone_number); using (var db = new EchoContext()) { OTP otp = db.OTPs.SingleOrDefault(x => x.PhoneNumber.Equals(phone_number)); if (otp == null) { return(2); } if (otp.Counter >= 3) { return(2); } int cmp = DateTime.Compare(DateTime.Now, otp.Expired_Dttm); if (cmp > 0) { return(3); } string check_otp = GenerateOTP(otp.Secret, number); if (check_otp.Equals(otp_pwd)) { return(0); } else { otp.Counter += 1; db.Entry(otp).State = EntityState.Modified; db.SaveChanges(); if (otp.Counter >= 3) { return(2); } return(1); } } }
public ActionResult UpdateActivationLimit(ActivationLimit al) { using (var db = new EchoContext()) { AdminConfiguration ac = db.AdminConfigurations.SingleOrDefault(); string user_no = Session["User_No"].ToString(); ac.No_Activation_Limit_Total = Convert.ToInt32(al.no_activation_limit_total); ac.No_Activation_Limit_Daily = Convert.ToInt32(al.no_activation_limit_daily); ac.Updated_By = user_no; ac.Updated_Dttm = DateTime.Now; db.Entry(ac).State = EntityState.Modified; db.SaveChanges(); FreebieEvent.UserUpdateEvent(Permission.activation_page_id, "A04"); return(RedirectToAction("ActivationLimit")); } }
public static void AccountUpdateEvent(Account account, string new_value, string type, byte?page_id) { using (var db = new EchoContext()) { string event_action = "A04"; string account_no = null; string user_no = null; if (HttpContext.Current.Session["Account_No"] != null) { account_no = HttpContext.Current.Session["Account_No"].ToString(); } if (HttpContext.Current.Session["User_No"] != null) { user_no = HttpContext.Current.Session["User_No"].ToString(); } EventLog log = new EventLog(); log.Action_Cd = event_action; if (type != null) { if (type.Equals("Status")) { log.Account_Status_Cd = new_value; } if (type.Equals("Idcard")) { log.Identification_Number = new_value; } } log.Account_No = account.Account_No; log.User_No = user_no; if (page_id != null) { log.Page_Id = page_id; } db.EventLogs.Add(log); db.SaveChanges(); } }
public ActionResult Logout() { using (var db = new EchoContext()) { if (Session["User_No"] != null) { string user_no = Session["User_No"].ToString(); User current_user = db.Users.SingleOrDefault(x => x.User_No.Equals(user_no)); HttpRuntime.Cache.Remove(user_no.Trim()); FormsAuthentication.SignOut(); RemoveCoookie("freebie"); Session.Clear(); FreebieEvent.UserEvent(current_user, "A02", Permission.staff_home_page_id); } return(View("Login")); } }
public void TestBuildContextRoundTrip(string file) { var directMessage = MimeMessage.Load(file); var context = directMessage.DirectContext(); var message = EchoContext.Process(directMessage); var directMessageRebuilt = MimeMessage.Load(message.ToString().ToStream()); var contextRebuilt = directMessageRebuilt.DirectContext(); AssertEqual(context, contextRebuilt); Assert.StartsWith("<", contextRebuilt.Headers[ContextStandard.ContentIdHeader]); Assert.EndsWith(">", contextRebuilt.Headers[ContextStandard.ContentIdHeader]); Assert.StartsWith("<", directMessageRebuilt.Headers[MailStandard.Headers.DirectContext]); Assert.EndsWith(">", directMessageRebuilt.Headers[MailStandard.Headers.DirectContext]); }
public ActionResult UpdateFreeTrialQuota(TrialQuota tq) { using (var db = new EchoContext()) { AdminConfiguration ac = db.AdminConfigurations.SingleOrDefault(); string user_no = Session["User_No"].ToString(); ac.Trial_Limit_Total = Convert.ToInt32(tq.trial_limit_total); ac.Trial_Dur_Val = Convert.ToInt32(tq.trial_dur_val); ac.Trial_Enable_Flag = Convert.ToBoolean(tq.trial_enable_flag); ac.Updated_By = user_no; ac.Updated_Dttm = DateTime.Now; db.Entry(ac).State = EntityState.Modified; db.SaveChanges(); FreebieEvent.UserUpdateEvent(Permission.free_trial_page_id, "A04"); return(RedirectToAction("FreeTrialQuota")); } }
public static void UserUpdateEvent(byte page_id, string action) { using (var db = new EchoContext()) { string user_no = null; if (HttpContext.Current.Session["User_No"] != null) { user_no = HttpContext.Current.Session["User_No"].ToString(); } EventLog log = new EventLog(); log.Action_Cd = action; log.User_No = user_no; log.Page_Id = page_id; db.EventLogs.Add(log); db.SaveChanges(); } }
public static int ValidateUsername(string email, string cfm_email, string pwd, string cfm_pwd) { // Missing some value if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(cfm_email) || string.IsNullOrEmpty(cfm_pwd)) { return(0); } //Format string strPattern = EmailRegEx(); if (!System.Text.RegularExpressions.Regex.IsMatch(email, strPattern)) { return(2); } if (pwd.Length < 6 || pwd.Length > 15) { return(3); } using (var val_db = new EchoContext()) { //Existance var check_email = val_db.Accounts.SingleOrDefault(a => a.User_Name == email); if (check_email != null) { return(4); } // Value match if (email.ToLower() != cfm_email.ToLower()) { return(5); } if (pwd != cfm_pwd) { return(6); } } return(1); }
//private static EchoContext db = new EchoContext(); public static void AfterCreateAccount(Account ac, string[] interests) { using (var db = new EchoContext()) { ac.Created_By = ac.Account_No; ac.Updated_By = ac.Account_No; ac.Created_Dttm = DateTime.Now; ac.Updated_Dttm = DateTime.Now; //db.Entry(ac).State = EntityState.Modified; AccountMobile am = new AccountMobile(); am.Mobile_Number = ac.First_Mobile_Number; am.Account_Id = ac.Account_Id; am.Status_Cd = FreebieStatus.MobileActive(); am.Primary_Flag = true; am.Created_By = ac.Account_No; am.Updated_By = ac.Account_No; db.AccountMobiles.Add(am); AccountInterest aci = new AccountInterest(); aci.Account_Id = ac.Account_Id; aci.I01_Food_Dining = interests.Contains("I01"); aci.I02_Night_Life = interests.Contains("I02"); aci.I03_Entertainment = interests.Contains("I03"); aci.I04_Music_Movie = interests.Contains("I04"); aci.I05_Sports_Fitness = interests.Contains("I05"); aci.I06_Shopping_Fashion = interests.Contains("I06"); aci.I07_Health_Beauty = interests.Contains("I07"); aci.I08_Travel = interests.Contains("I08"); aci.I09_Pets = interests.Contains("I09"); aci.I10_Kids_Children = interests.Contains("I10"); aci.I11_Home_Living = interests.Contains("I11"); aci.I12_Finance_Investment = interests.Contains("I12"); aci.I13_Technology_Gadget = interests.Contains("I13"); aci.I14_Auto = interests.Contains("I14"); aci.Created_By = ac.Account_No; aci.Updated_By = ac.Account_No; db.AccountInterests.Add(aci); db.SaveChanges(); } }
public static bool can_update_this_staff(User u) { // can CRUD this stff bool result = true; using (var db = new EchoContext()) { string user_no = HttpContext.Current.Session["User_No"].ToString(); User current_user = db.Users.SingleOrDefault(x => x.User_No.Equals(user_no)); if (!current_user.Role_Cd.Equals("AM")) { if (current_user.Role_Cd.Equals("SU")) { if (u.Role_Cd.Equals("ST")) { if ((u.Group_Id != current_user.Group_Id) || (!u.Dept_Cd.Equals(current_user.Dept_Cd))) { result = false; // only staff in user's group/dept } } else { if (!u.User_No.Equals(current_user.User_No)) { result = false; // self edit only } } } if (current_user.Role_Cd.Equals("ST")) { if (!u.User_No.Equals(current_user.User_No)) { result = false; // self edit only } } } } return(result); }
// for test //public static void seed_data(int num) //{ // using (var db = new EchoContext()) // { // for (int i = 1; i <= num; i++) // { // Account a = new Account(); // a.First_Name = PasswordGenerator.Get(); // a.Last_Name = PasswordGenerator.Get(); // a.Day_Of_Birth = 1; // a.Month_Of_Birth = 2; // a.Year_Of_Birth = 1990; // a.Gender_Cd = "M"; // a.Dummy_Flag = "0"; // a.Activation_Dttm = DateTime.Now; // a.Status_Cd = "AC"; // db.Accounts.Add(a); // AccountMobile pn = new AccountMobile(); // pn.Account = a; // pn.Mobile_Number = "08" + i.ToString() + "100" + string.Format("{0:0000}", i); // pn.Primary_Flag = true; // pn.Status_Cd = "AC"; // db.AccountMobiles.Add(pn); // AccountMobile sn = new AccountMobile(); // sn.Account = a; // sn.Mobile_Number = "09" + i.ToString() + "100" + string.Format("{0:0000}", i); // sn.Primary_Flag = false; // sn.Status_Cd = "AC"; // db.AccountMobiles.Add(sn); // db.SaveChanges(); // } // for (int j = 1; j <= num; j++) // { // Account a = new Account(); // a.First_Name = PasswordGenerator.Get(); // a.Last_Name = PasswordGenerator.Get(); // a.Day_Of_Birth = 1; // a.Month_Of_Birth = 2; // a.Year_Of_Birth = 1990; // a.Gender_Cd = "M"; // a.Dummy_Flag = "0"; // a.Activation_Dttm = DateTime.Now.AddDays(-1); // a.Status_Cd = "AC"; // db.Accounts.Add(a); // AccountMobile pn = new AccountMobile(); // pn.Account = a; // pn.Mobile_Number = "08" + j.ToString() + "110" + string.Format("{0:0000}", j); // pn.Primary_Flag = true; // pn.Status_Cd = "AC"; // db.AccountMobiles.Add(pn); // AccountMobile sn = new AccountMobile(); // sn.Account = a; // sn.Mobile_Number = "09" + j.ToString() + "110" + string.Format("{0:0000}", j); // sn.Primary_Flag = false; // sn.Status_Cd = "AC"; // db.AccountMobiles.Add(sn); // db.SaveChanges(); // } // } //} public static IEnumerable <AccountSMS> get_accounts() { var today = DateTime.Today; var tomorrow = today.AddDays(1); IEnumerable <AccountSMS> accounts; var db = new EchoContext(); accounts = from am in db.AccountMobiles join a in db.Accounts on am.Account_Id equals a.Account_Id where am.Primary_Flag && a.Activation_Dttm != null && (a.Registration_Dttm != a.Activation_Dttm) && (a.Activation_Dttm >= today && a.Activation_Dttm < tomorrow) select new AccountSMS { Account_Id = a.Account_Id, Activation_Dttm = a.Activation_Dttm, Mobile_Number = am.Mobile_Number }; return(accounts); }
public static void SendUsername(string phone_number) { using (var db = new EchoContext()) { AccountMobile am = db.AccountMobiles.Where(x => x.Mobile_Number.Equals(phone_number)).Where(x => x.Status_Cd.Equals("AC")).SingleOrDefault(); string username = ""; if (am != null) { Account ac = db.Accounts.SingleOrDefault(x => x.Account_Id == am.Account_Id); if (ac != null) { username = ac.User_Name; string message = System.Configuration.ConfigurationManager.AppSettings["SMS_MESSAGE_FORGOT_USERNAME"]; message = message.Replace("{username}", username); OtpLog log = new OtpLog(); string result = fire(phone_number, message, log); } } } }
public void init_dropdwon(string select_dept, int select_group, string user_no) { string role_cd = Session["Role"].ToString(); string current_user_no = Session["User_No"].ToString(); var db = new EchoContext(); User current_user = db.Users.SingleOrDefault(x => x.User_No.Equals(current_user_no)); var all_item = new SelectListItem() { Text = "ทั้งหมด", Value = "0", Selected = false }; IEnumerable <Dept> all_depts = db.Depts.OrderBy(s => s.Dept_Cd); if (role_cd.Equals("AM")) { depts.Add(all_item); } if (!role_cd.Equals("AM")) { all_depts = all_depts.Where(x => x.Dept_Cd.Equals(current_user.Dept_Cd)); } foreach (var d in all_depts) { var dept = new SelectListItem() { Text = d.Dept_Name_En, Value = d.Dept_Cd, Selected = (d.Dept_Cd.Equals(select_dept)) }; depts.Add(dept); } var depts_selectable = depts; ViewBag.Dept_Cd = depts_selectable; if (!role_cd.Equals("ST")) { users.Add(all_item); } if (role_cd.Equals("AM")) { groups.Add(all_item); } IEnumerable <User> free_users = db.Users.OrderBy(x => x.User_No); if (role_cd.Equals("SU")) { free_users = free_users.Where(x => x.Dept_Cd.Equals(current_user.Dept_Cd)).Where(x => x.Group_Id == current_user.Group_Id); } else { if (role_cd.Equals("ST")) { free_users = free_users.Where(x => x.User_Id == current_user.User_Id); } } foreach (var u in free_users) { var user = new SelectListItem() { Text = u.User_No, Value = u.User_No, Selected = (u.User_No == user_no) }; users.Add(user); } ViewBag.User_No = users; for (int i = 1; i <= 20; i++) { var item = new SelectListItem() { Text = i.ToString(), Value = i.ToString(), Selected = (select_group == i) }; if (role_cd.Equals("AM")) { groups.Add(item); } else { if ((role_cd.Equals("SU") || role_cd.Equals("ST")) && i == current_user.Group_Id) { groups.Add(item); } } } ViewBag.Group_Id = groups; }
public ActionResult SalesPerfReportResult() { string dept = Request.Form["Dept_cd"]; string current_user_no = Session["User_No"].ToString(); var db = new EchoContext(); User current_user = db.Users.SingleOrDefault(x => x.User_No.Equals(current_user_no)); string role_cd = Session["Role"].ToString(); string start_date_rq = Request.Form["start_date"]; string end_date_rq = Request.Form["end_date"]; var start_date = DateTime.Now; var end_date = DateTime.Now; try { if (!string.IsNullOrEmpty(start_date_rq)) { start_date = DateTime.ParseExact(start_date_rq, @"d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture); } if (!string.IsNullOrEmpty(end_date_rq)) { end_date = DateTime.ParseExact(end_date_rq, @"d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture); } } catch (Exception) { start_date = DateTime.Now; end_date = DateTime.Now; } ViewBag.start_date = String.Format("{0:dd/MM/yyyy}", start_date); ViewBag.end_date = String.Format("{0:dd/MM/yyyy}", end_date); if (string.IsNullOrEmpty(dept)) { dept = "AA"; } string user_no = Request.Form["User_No"]; string where_str = ""; if (dept.Equals("0")) { where_str = String.Format("where u.Dept_Cd != '{0}'", dept); } else { where_str = String.Format("where u.Dept_Cd = '{0}' ", dept); } int group_id = Convert.ToInt16(Request.Form["Group_id"]); if (group_id != 0) { where_str += String.Format(" and u.Group_Id = '{0}' ", group_id); } if (start_date != null && end_date != null) { where_str += String.Format(" and CAST(a.Registration_Dttm as DATE) between '{0}' and '{1}' ", String.Format("{0:yyyy/MM/dd}", start_date), String.Format("{0:yyyy/MM/dd}", end_date)); } if (!user_no.Equals("0")) { where_str += String.Format(" and u.User_No = '{0}' ", user_no); } else { if (role_cd.Equals("ST")) { where_str += String.Format(" and u.User_Id = '{0}' ", current_user.User_Id); } } string sql_str = @" select u.User_No as user_no, CAST(a.Registration_Dttm as DATE) as reg_date, sum(case when a.Status_Cd = 'AC' and a.First_Quota_Cd = 'Q0001' then 1 else 0 end) as active_low, sum(case when a.Status_Cd = 'AC' and a.First_Quota_Cd = 'Q0002' then 1 else 0 end) as active_mid, sum(case when a.Status_Cd = 'AC' and a.First_Quota_Cd = 'Q0003' then 1 else 0 end) as active_high, sum(case when a.Status_Cd in ('AP','ACD') and a.First_Quota_Cd = 'Q0001' then 1 else 0 end) as pending_low, sum(case when a.Status_Cd in ('AP','ACD') and a.First_Quota_Cd = 'Q0002' then 1 else 0 end) as pending_mid, sum(case when a.Status_Cd in ('AP','ACD') and a.First_Quota_Cd = 'Q0003' then 1 else 0 end) as pending_high, sum(case when a.Status_Cd in ('AP','ACD', 'AC') and a.First_Quota_Cd in ('Q0001', 'Q0002', 'Q0003') then 1 else 0 end) as user_total from [User] as u Left join Account a on a.Staff_No = u.User_No "; sql_str += where_str; sql_str += @" group by u.User_No, CAST(a.Registration_Dttm as DATE) order by u.User_No, CAST(a.Registration_Dttm as DATE) "; var results = db.Database.SqlQuery <SalesPerf>(sql_str).ToList(); init_dropdwon(dept, group_id, user_no); return(View(results)); }
public ActionResult ValidateUser() { using (var db = new EchoContext()) { string username = Request.Form["UserName"]; string password = Request.Form["Password"]; string enc = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "SHA1"); if (username != "" && password != "") { User u = db.Users.Where(x => x.User_Name.Equals(username)).Where(x => x.Password.Equals(enc)).SingleOrDefault(); if (u != null) { if (u.Status_Cd.Trim().Equals("IA")) { ViewBag.LoginError = System.Configuration.ConfigurationManager.AppSettings["Login002"]; return(View("Login")); } //if (System.Web.HttpContext.Current.Cache[u.User_No.Trim()] == null) //{ FormsAuthentication.SetAuthCookie(username, true); Session["User_No"] = u.User_No; Session["Role"] = u.Role_Cd; Session["Dept"] = u.Dept_Cd; Session["Group_Id"] = u.Group_Id; //System.Web.HttpContext.Current.Cache[u.User_No.Trim()] = Session.SessionID; //load permissions IEnumerable <PageMap> page_maps = db.PageMaps.Where(x => x.Role_Cd.Equals(u.Role_Cd)).Where(x => x.Dept_Cd.Equals(u.Dept_Cd)).ToList(); Hashtable permissions = new Hashtable(); foreach (var p in page_maps) { string page_key = p.Page_Id.ToString(); Hashtable item = new Hashtable(); item["View_All"] = (p.View_All_Flag.Equals("Y")); item["Access_All"] = (p.Full_Access_Flag.Equals("Y")); item["Allow_Update"] = (p.Allow_Update_Flag.Equals("Y")); permissions.Add(page_key, item); } Session["Permissions"] = permissions; string dept_name = "-"; if (u.Dept != null) { dept_name = u.Dept.Dept_Name_En; } FreebieEvent.UserEvent(u, "A01", Permission.staff_home_page_id); return(RedirectToAction("StaffProfile", "User")); //} //else //{ // ViewBag.LoginError = System.Configuration.ConfigurationManager.AppSettings["MULTIPLE_LOGIN"]; //} } else { ViewBag.LoginError = System.Configuration.ConfigurationManager.AppSettings["Login001"]; } } return(View("Login")); } }
public void ProcessRequest(HttpContext context) { string reply_str = ""; var db = new EchoContext(); SmsRegistrationLog sms_log = new SmsRegistrationLog(); string sms_log_result = ""; try { string keyword = context.Request.Form["keyword"] == null ? string.Empty : context.Request.Form["keyword"]; string content = context.Request.Form["content"] == null ? string.Empty : context.Request.Form["content"]; string mobile_no = context.Request.Form["mobile_no"] == null ? string.Empty : context.Request.Form["mobile_no"]; //string msg = context.Request.Form["msg"] == null ? string.Empty : context.Request.Form["msg"]; sms_log.Mobile_Number = mobile_no; sms_log.RQ_Msg = "-"; sms_log.RQ_Keyword = keyword; sms_log.RQ_Content = content; int result = CustomValidate.ValidateNumber(mobile_no); bool flag = true; if (result != 1 && result != 4) { flag = false; if (result == 2 || result == 3 || result == 5) { reply_str = System.Configuration.ConfigurationManager.AppSettings["EXIST_NUMBER"]; sms_log_result = "Existing number"; } if (result == 6) { reply_str = System.Configuration.ConfigurationManager.AppSettings["NO_ACCTACTIVATION"]; sms_log_result = "Maintenance Period"; } } if (flag) { if (IsValid(keyword, content)) { string[] content_arrs = content.Split(' '); string gender = content_arrs[0]; string dob = content_arrs[1]; string[] result_sp = new string[2]; byte day = Convert.ToByte(dob.Substring(0, 2)); byte month = Convert.ToByte(dob.Substring(2, 2)); int year = Convert.ToInt16(dob.Substring(4, 4)); year = year - 543; #region transaction var transactionOptions = new TransactionOptions(); transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; transactionOptions.Timeout = TransactionManager.MaximumTimeout; Account account = new Account(); DateTime timestamp = DateTime.Now; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOptions)) { var db_transaction = new EchoContext(); account.Gender_Cd = gender.ToUpper(); account.Day_Of_Birth = day; account.Month_Of_Birth = month; account.Year_Of_Birth = year; account.Channel_Cd = "SMS"; account.Created_By = System.Configuration.ConfigurationManager.AppSettings["CREATED_BY_SMS"]; account.Updated_By = System.Configuration.ConfigurationManager.AppSettings["CREATED_BY_SMS"]; account.First_Mobile_Number = mobile_no; account.Created_Dttm = timestamp; account.Updated_Dttm = timestamp; account.Registration_Dttm = timestamp; var today = DateTime.Now.Date; Quota q = db_transaction.Quotas.Where(x => x.Quota_Type_Cd.Equals("B")).Where(x => x.Quota_Cd.Equals("Q0001")).SingleOrDefault(); #region account quota used cur AccountQuotaUsedCur aquc = new AccountQuotaUsedCur(); aquc.Date = today.Date; aquc.Account = account; aquc.Quota_Freq_Used_Val = 0; aquc.Quota_Avail_Flag = true; aquc.Quota_Dur_Val = Convert.ToByte(q.Quota_Dur_Val); aquc.Quota_Freq_Val = Convert.ToByte(q.Quota_Freq_Val); db_transaction.AccountQuotaUsedCurs.Add(aquc); #endregion #region account mobile AccountMobile am = new AccountMobile(); am.Account = account; am.Mobile_Number = mobile_no; am.Primary_Flag = true; am.Status_Cd = "AC"; am.Updated_By = System.Configuration.ConfigurationManager.AppSettings["CREATED_BY_SMS"]; am.Created_By = System.Configuration.ConfigurationManager.AppSettings["CREATED_BY_SMS"]; db_transaction.AccountMobiles.Add(am); #endregion #region account interest AccountInterest ai = new AccountInterest(); ai.Account = account; db_transaction.AccountInterests.Add(ai); #endregion #region account quota AccountQuota aq = new AccountQuota(); aq.Account = account; aq.Quota_Cd = q.Quota_Cd; db_transaction.AccountQuotas.Add(aq); #endregion #region update account activation and set status_cd SqlParameter output = new SqlParameter("acstatus", SqlDbType.Int); output.Direction = ParameterDirection.Output; SqlParameter date = new SqlParameter("today", SqlDbType.Date); date.Value = DateTime.Now; SqlParameter no_acct_total = new SqlParameter("no_acct_limit_total", SqlDbType.Int); int no_acct_limit_total = 0; AdminConfiguration admin_config = db_transaction.AdminConfigurations.SingleOrDefault(); if (admin_config != null) { no_acct_limit_total = admin_config.No_Activation_Limit_Total; } no_acct_total.Value = no_acct_limit_total; string sql_string = "declare @tbt table (acstatus int)" + "UPDATE Account_Activation " + "SET No_Activation = CASE WHEN (No_Activation + 1 > No_Max_Activation or (No_Activation_Acc + 1 > @no_acct_limit_total)) THEN No_Activation ELSE No_Activation + 1 END, " + "No_Activation_Acc = CASE WHEN (No_Activation + 1 > No_Max_Activation or (No_Activation_Acc + 1 > @no_acct_limit_total)) THEN No_Activation_Acc ELSE No_Activation_Acc + 1 END, " + "No_Activation_Pending = CASE WHEN (No_Activation + 1 > No_Max_Activation or (No_Activation_Acc + 1 > @no_acct_limit_total)) THEN No_Activation_Pending + 1 ELSE No_Activation_Pending END, " + "Updated_By = 'WEBSITE', " + "Updated_Dttm = GETDATE() " + "OUTPUT CASE WHEN (deleted.No_Activation + 1 > deleted.No_Max_Activation or deleted.No_Activation_Acc + 1 > @no_acct_limit_total) THEN 1 ELSE 0 END " + " into @tbt " + "WHERE [Date] = @today " + "select @acstatus = acstatus from @tbt"; db_transaction.Database.ExecuteSqlCommand(sql_string, no_acct_total, date, output); int sql_result = Convert.ToInt16(output.Value); if (sql_result == 0) { account.Status_Cd = FreebieStatus.AccountActivated(); account.Activation_Dttm = timestamp; reply_str = System.Configuration.ConfigurationManager.AppSettings["ACD"]; sms_log_result = "Register success"; string q_str = (Convert.ToByte(q.Quota_Freq_Val) * Convert.ToByte(q.Quota_Dur_Val) * 30).ToString(); reply_str = reply_str.Replace("{count}", q.Quota_Freq_Val.ToString()); reply_str = reply_str.Replace("{mins}", q.Quota_Dur_Val.ToString()); reply_str = reply_str.Replace("{num}", q_str); } else { account.Status_Cd = FreebieStatus.AccountPending(); reply_str = System.Configuration.ConfigurationManager.AppSettings["AP"]; sms_log_result = "Register Pending"; } #endregion account.First_Quota_Cd = q.Quota_Cd; account.First_Quota_Dur_Val = q.Quota_Dur_Val; account.First_Quota_Freq_Val = q.Quota_Freq_Val; account.Dummy_Flag = "0"; db_transaction.Accounts.Add(account); db_transaction.SaveChanges(); scope.Complete(); } #endregion #region call_sp result_sp = CallSP.SP_Insert_Interact_Profile(account.Account_Id); if (!result_sp[0].Equals("0")) { using (var new_db = new EchoContext()) { SqlParameter date = new SqlParameter("today", SqlDbType.Date); date.Value = DateTime.Now; Account remove_ac = new_db.Accounts.SingleOrDefault(x => x.Account_Id == account.Account_Id); if (remove_ac != null) { if (remove_ac.Status_Cd.Equals(FreebieStatus.AccountActivated())) { string sql_string = "UPDATE Account_Activation " + "SET No_Activation = CASE WHEN (No_Activation - 1 < 0 ) THEN 0 ELSE No_Activation - 1 END, " + "No_Activation_Acc = CASE WHEN (No_Activation_Acc - 1 < 0 ) THEN 0 ELSE No_Activation_Acc - 1 END, " + "Updated_By = 'WEBSITE', " + "Updated_Dttm = GETDATE() " + "WHERE [Date] = @today "; new_db.Database.ExecuteSqlCommand(sql_string, date); } else { if (remove_ac.Status_Cd.Equals(FreebieStatus.AccountPending())) { string sql_string = "UPDATE Account_Activation " + "SET No_Activation_Pending = CASE WHEN (No_Activation_Pending - 1 < 0 ) THEN 0 ELSE No_Activation_Pending - 1 END, " + "Updated_By = 'WEBSITE', " + "Updated_Dttm = GETDATE() " + "WHERE [Date] = @today "; new_db.Database.ExecuteSqlCommand(sql_string, date); } } AccountQuotaUsedCur remove_aquc = new_db.AccountQuotaUsedCurs.SingleOrDefault(x => x.Account_Id == account.Account_Id); if (remove_aquc != null) { new_db.AccountQuotaUsedCurs.Remove(remove_aquc); } new_db.Accounts.Remove(remove_ac); new_db.SaveChanges(); } } reply_str = System.Configuration.ConfigurationManager.AppSettings["NO_ACCTACTIVATION"]; } else { FreebieEvent.AccountCreateEvent(account, account.First_Mobile_Number, Permission.f_cust_regis_page_id); } #endregion } else { reply_str = System.Configuration.ConfigurationManager.AppSettings["WRONG_FORMAT"]; sms_log_result = "Wrong input Format"; } } } catch (Exception err) { reply_str = System.Configuration.ConfigurationManager.AppSettings["NO_ACCTACTIVATION"]; sms_log_result = "System Error"; FreebieEvent.AddCustomError(err.Message, Permission.f_cust_regis_page_id); } Encoding encoding = Encoding.GetEncoding("tis-620"); string xml_str = GetReplyXML(reply_str, encoding); sms_log.Result = sms_log_result; db.SmsRegistrationLogs.Add(sms_log); db.SaveChanges(); context.Response.ContentType = "text/xml"; context.Response.ContentEncoding = encoding; context.Response.Write(xml_str); }
private static string fire(string phone_number, string msg, object log) { string result = string.Empty; System.Type type_of = log.GetType(); //ORIGIN System.Configuration.ConfigurationManager.AppSettings["SEND_SMS"] = "YES"; //dummy data for DEBUG if (System.Configuration.ConfigurationManager.AppSettings["SEND_SMS"].Equals("YES")) { string postData = "ACCOUNT=" + System.Configuration.ConfigurationManager.AppSettings["MOBILE_ACCOUNT"]; postData += "&PASSWORD="******"MOBILE_PWD"]; postData += "&MOBILE=" + phone_number; postData += "&MESSAGE=" + msg; postData += "&LANGUAGE=" + System.Configuration.ConfigurationManager.AppSettings["MESSAGE_LANGUAGE"]; postData += "&SENDER=" + System.Configuration.ConfigurationManager.AppSettings["SENDER_NAME"]; System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); Encoding iso = Encoding.GetEncoding("ISO-8859-11"); Encoding utf8 = Encoding.UTF8; byte[] data = encoding.GetBytes(postData); data = Encoding.Convert(utf8, iso, data); DateTime start_res = DateTime.Now; //result = "System.Configuration.ConfigurationManager.AppSettings['SEND_SMS'].Equals('Yes')"; //DEBUG try { HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(System.Configuration.ConfigurationManager.AppSettings["SMS_GATEWAY"]); httpRequest.Method = "POST"; httpRequest.Host = System.Configuration.ConfigurationManager.AppSettings["SMS_HOST"]; //"203.146.102.26"; httpRequest.ContentType = "application/x-www-form-urlencoded"; httpRequest.ContentLength = data.Length; MemoryStream Memstream = new MemoryStream(data); Stream stream = httpRequest.GetRequestStream(); Memstream.WriteTo(stream); stream.Close(); Callback(httpRequest, (response) => { var res_stream = new StreamReader(response.GetResponseStream()); DateTime end_res = DateTime.Now; int index = 0; string[] result_rsp = new string[] { "", "", "", "" }; string rsp_str = ""; while (res_stream.Peek() >= 0) { result_rsp[index] = res_stream.ReadLine(); index++; } foreach (var txt in result_rsp) { rsp_str += txt + " "; } //saving using (var db = new EchoContext()) { if (type_of == typeof(OtpLog)) { OtpLog logger = new OtpLog(); logger.Mobile_Number = phone_number; logger.Request_At = start_res; logger.Response_At = end_res; logger.Response_Text = rsp_str; db.OtpLogs.Add(logger); db.SaveChanges(); } else { if (type_of == typeof(ActivationSmsLog)) { ActivationSmsLog logger = new ActivationSmsLog(); logger.Mobile_Number = phone_number; logger.Request_At = start_res; logger.Response_At = end_res; logger.Response_Text = rsp_str; db.ActivationSmsLogs.Add(logger); db.SaveChanges(); } } } res_stream.Close(); }); } catch (WebException wex) { using (var db = new EchoContext()) { if (type_of == typeof(OtpLog)) { OtpLog logger = new OtpLog(); logger.Mobile_Number = phone_number; logger.Request_At = start_res; logger.Response_At = DateTime.Now; logger.Response_Text = wex.Message; db.OtpLogs.Add(logger); db.SaveChanges(); } else { if (type_of == typeof(ActivationSmsLog)) { ActivationSmsLog logger = new ActivationSmsLog(); logger.Mobile_Number = phone_number; logger.Request_At = start_res; logger.Response_At = DateTime.Now; logger.Response_Text = wex.Message; db.ActivationSmsLogs.Add(logger); db.SaveChanges(); } } } } catch (Exception ex) { FreebieEvent.AddError(ex, 0); } } else { result = ".AppSettings['SEND_SMS'].Equals('NO')"; //DEBUG } return(result);//ORIGIN }