public OpertionResult Create(SMSOne created) { try { #region Parameters var parameters = new List <OracleParameter> { new OracleParameter { ParameterName = "retVal", OracleDbType = OracleDbType.Int32, Direction = ParameterDirection.ReturnValue }, new OracleParameter { ParameterName = "v_createdby", OracleDbType = OracleDbType.Varchar2, Value = created.CreatedBy.Id }, new OracleParameter { ParameterName = "v_createdbyacc", OracleDbType = OracleDbType.Int32, Value = created.CreatedBy.Account }, new OracleParameter { ParameterName = "v_receiver", OracleDbType = OracleDbType.Varchar2, Value = created.Receiver }, new OracleParameter { ParameterName = "v_msg", OracleDbType = OracleDbType.NVarchar2, Value = created.Message }, new OracleParameter { ParameterName = "v_note", OracleDbType = OracleDbType.NVarchar2, Value = created.Note } }; #endregion db.ExecuteStoredProc("pk_infra.fn_create_smsone", parameters); var result = int.Parse(parameters.Find(x => x.ParameterName == "retVal").Value.ToString()); if (result > 0) { return(new OpertionResult { AffectedCount = result, Success = true, Error = string.Empty }); } else { return(new OpertionResult { AffectedCount = result, Success = false, Error = string.Empty }); } } catch (Exception ex) { return(new OpertionResult { AffectedCount = -1, Success = false, Error = ex.Message }); } }
public IActionResult SendSMSOne(SMSOneDto model) { if (ModelState.IsValid) { var currentRoleId = partnerManager.GetCurrentUserRole(this.HttpContext); var permission = partnerActivity.GetPartAct("SMS.SendOne", currentRoleId); if (permission == null) { toastNotification.AddErrorToastMessage("ليس لديك الصلاحية الكافية", new ToastrOptions { Title = "" }); return(Redirect(Request.Headers["Referer"].ToString())); } var inserted = new SMSOne(); inserted.Message = model.Message; inserted.Note = model.Note; inserted.Receiver = model.Receiver; inserted.CreatedBy.Id = partnerManager.GetCurrentUserId(this.HttpContext); inserted.CreatedBy.Account = partnerManager.GetCurrentUserAccount(this.HttpContext); var result = new SMSOneRepo(db, partnerManager).Create(inserted); if (result.Success) { ModelState.Clear(); model.Receiver = string.Empty; toastNotification.AddSuccessToastMessage("تم حفظ الرسالة بنجاح وسيتم ارساله فورا ", new ToastrOptions { Title = "" }); } else { toastNotification.AddInfoToastMessage("فشل عملية حفظ الرسالة ", new ToastrOptions { Title = "" }); } } return(View(model)); }
public List <SMSOne> GetList(GetListParam param) { #region Parameters var parameters = new List <OracleParameter>(); var whereCluase = new StringBuilder(); if (param != null) { if (!string.IsNullOrEmpty(param.Receiver)) { whereCluase.Append(" WHERE receiver = :Receiver"); var p = new OracleParameter { ParameterName = "Receiver", OracleDbType = OracleDbType.Varchar2, Value = param.Receiver }; parameters.Add(p); } if (!string.IsNullOrEmpty(param.CreatorId)) { whereCluase.Append(whereCluase.Length > 0 ? " AND createdby = :CreatorId" : " WHERE createdby = :CreatorId"); var p = new OracleParameter { ParameterName = "CreatorId", OracleDbType = OracleDbType.Varchar2, Value = param.CreatorId }; parameters.Add(p); } if (param.CreatorAccount > 0) { whereCluase.Append(whereCluase.Length > 0 ? " AND createdbyacc = :createdbyacc" : " WHERE createdbyacc = :CreatorAccount"); var p = new OracleParameter { ParameterName = "CreatorAccount", OracleDbType = OracleDbType.Int32, Value = param.CreatorAccount }; parameters.Add(p); } if (param.IncludeDates) { if (param.StartDate > DateTime.MinValue && param.StartDate != null) { whereCluase.Append(whereCluase.Length > 0 ? " AND createdon >= :StartDate" : " WHERE createdon >= :StartDate"); var p = new OracleParameter { ParameterName = "StartDate", OracleDbType = OracleDbType.Date, Value = param.StartDate }; parameters.Add(p); } if (param.EndDate > DateTime.MinValue && param.EndDate != null) { whereCluase.Append(whereCluase.Length > 0 ? " AND createdon <= :EndDate" : " WHERE createdon <= :EndDate"); var p = new OracleParameter { ParameterName = "EndDate", OracleDbType = OracleDbType.Date, Value = param.EndDate }; parameters.Add(p); } } if (!string.IsNullOrEmpty(param.Message)) { whereCluase.Append(whereCluase.Length > 0 ? " AND (msg LIKE '%' || :Message || '%') " : " WHERE (msg LIKE '%' || :Message || '%') "); var p = new OracleParameter { ParameterName = "Message", OracleDbType = OracleDbType.Varchar2, Value = param.Message }; parameters.Add(p); } } #endregion string strSql = $"select * from SEND_SMSONE_HIS {whereCluase} order by sms_id"; DataTable masterDataTable; masterDataTable = db.GetData(strSql, parameters); if (masterDataTable == null) { return(null); } if (masterDataTable.Rows.Count == 0) { return(null); } var results = new List <SMSOne>(); foreach (DataRow row in masterDataTable.Rows) { var obj = new SMSOne(); obj.Id = row["sms_id"] == DBNull.Value ? -1 : int.Parse(row["sms_id"].ToString()); obj.Note = row["note"] == DBNull.Value ? string.Empty : row["note"].ToString(); obj.Shortcode = row["shortcode"] == DBNull.Value ? string.Empty : row["shortcode"].ToString(); obj.Receiver = row["receiver"] == DBNull.Value ? string.Empty : row["receiver"].ToString(); obj.Message = row["msg"] == DBNull.Value ? string.Empty : row["msg"].ToString(); obj.CreatedOn = row["createdon"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(row["createdon"].ToString()); var createdAccount = row["createdbyacc"] == DBNull.Value ? -1 : int.Parse(row["createdbyacc"].ToString()); var createdBy = partnerManager.GetPartnerByAccount(createdAccount); obj.CreatedBy.Id = createdBy.Id; obj.CreatedBy.Name = createdBy.Name; obj.CreatedBy.Account = createdBy.Account; results.Add(obj); } return(results); }