Esempio n. 1
0
        public int GetCount(MoneyTransferQueryDto param)
        {
            string WhereClause    = string.Empty;
            var    parameters     = BuildCriteria(param, ref WhereClause);
            var    strSqlStatment = new StringBuilder();

            strSqlStatment.Append($"Select count(*) val from v_money_transfer t { WhereClause }");
            var count = this.db.GetIntScalarValue(strSqlStatment.ToString(), parameters);

            return(count);
        }
        public IActionResult MoneyTranferQuery()
        {
            var currentRoleId = _partnerManager.GetCurrentUserRole(this.HttpContext);
            var permission    = _partnerActivity.GetPartAct("MoneyTransfer.Query", currentRoleId);

            if (permission == null)
            {
                return(Redirect(Request.Headers["Referer"].ToString()));
            }
            var model = new MoneyTransferQueryDto();

            model.Paging.PageNo   = 1;
            model.Paging.PageSize = 50;
            model.Paging.Count    = 0;
            model.QFromDate       = DateTime.Today.AddMonths(-1);
            model.QToDate         = DateTime.Today;
            model.QPartnerId      = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.MobilePhone).Value;
            return(View(model));
        }
Esempio n. 3
0
        public MoneyTransferQueryDto MTQueryWithPaging(MoneyTransferQueryDto param)
        {
            string WhereClause    = string.Empty;
            var    parameters     = BuildCriteria(param, ref WhereClause);
            var    ps             = param.Paging.PageSize > 0 ? param.Paging.PageSize : 50;
            var    strSqlStatment = new StringBuilder();

            strSqlStatment.Append("Select * from ( ");
            strSqlStatment.Append("select rownum as seq , main_data.* from ( ");
            strSqlStatment.Append("Select * from v_money_transfer  t " + WhereClause + " order by createdon desc ");
            strSqlStatment.Append(") main_data ) ");
            strSqlStatment.Append($"WHERE seq > ({param.Paging.PageNo - 1}) * {param.Paging.PageSize} AND ROWNUM <= {ps}");
            var masterDataTable = this.db.GetData(strSqlStatment.ToString(), parameters);

            if (masterDataTable == null)
            {
                param.Results = null;
                return(param);
            }
            if (masterDataTable.Rows.Count == 0)
            {
                param.Results = null;
                return(param);
            }

            var moneyTransfer = new List <MoneyTransferDetailQueryDto>();

            foreach (DataRow row in masterDataTable.Rows)
            {
                var obj = ConvertDataRowToDataModel(row, true);
                moneyTransfer.Add(obj);
            }
            param.Results = moneyTransfer;

            return(param);
        }
Esempio n. 4
0
        private List <OracleParameter> BuildCriteria(MoneyTransferQueryDto param, ref string criteria)
        {
            var WhereClause = new StringBuilder();
            var parameters  = new List <OracleParameter>();

            if (param.QId > 0)
            {
                var parm = new OracleParameter {
                    ParameterName = "TransId", OracleDbType = OracleDbType.Int32, Value = param.QId
                };
                WhereClause.Append(" WHERE trans_id=:TransId ");
                parameters.Add(parm);
            }
            if (!string.IsNullOrEmpty(param.QPartnerId))
            {
                if (param.QListTypeId == "all")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE (part_id=:PartId OR createdby=:PartId) "
                        : " AND (part_id=:PartId OR createdby=:PartId2)  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        var parm2 = new OracleParameter {
                            ParameterName = "PartId2", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                        parameters.Add(parm2);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId OR createdby=:PartId2) AND (exists (select 1 from partner where (partner.partner_id = t.part_id or partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId OR createdby=:PartId2)  AND (exists (select 1 from partner where (partner.partner_id = t.part_id or partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        var parm2 = new OracleParameter {
                            ParameterName = "PartId2", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                        parameters.Add(parm2);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE (part_id=:PartId OR createdby=:PartId2) "
                          : " AND (part_id=:PartId OR createdby=:PartId2)  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        var parm2 = new OracleParameter {
                            ParameterName = "PartId2", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                        parameters.Add(parm2);
                    }
                }
                else if (param.QListTypeId == "debit")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId "
                        : " AND part_id=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId) AND (exists (select 1 from partner where (partner.partner_id = t.part_id) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId)  AND (exists (select 1 from partner where (partner.partner_id = t.part_id) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId " : " AND part_id=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                    }
                }
                else if (param.QListTypeId == "credit")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE createdby=:PartId "
                        : " AND createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId) AND (exists (select 1 from partner where (partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId)  AND (exists (select 1 from partner where (partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE createdby=:PartId " : " AND createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                    }
                }
            }
            if (param.QFromDate > DateTime.MinValue && param.QFromDate != null)
            {
                WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE trunc(createdon)>=:StartDate " : " AND trunc(createdon)>=:StartDate   ");
                var parm = new OracleParameter {
                    ParameterName = "StartDate", OracleDbType = OracleDbType.Date, Value = param.QFromDate
                };
                parameters.Add(parm);
            }
            if (param.QToDate > DateTime.MinValue && param.QToDate != null)
            {
                WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE trunc(createdon)<=:EndDate " : " AND trunc(createdon)<=:EndDate   ");
                var parm = new OracleParameter {
                    ParameterName = "EndDate", OracleDbType = OracleDbType.Date, Value = param.QToDate
                };
                parameters.Add(parm);
            }
            criteria = WhereClause.ToString();
            return(parameters);
        }
Esempio n. 5
0
        public async Task <MoneyTransferQueryDto> MTQuery(MoneyTransferQueryDto param, int count = 200)
        {
            var WhereClause = new StringBuilder();
            var parameters  = new List <OracleParameter>();

            if (param.QId > 0)
            {
                var parm = new OracleParameter {
                    ParameterName = "TransId", OracleDbType = OracleDbType.Int32, Value = param.QId
                };
                WhereClause.Append(" WHERE trans_id=:TransId ");
                parameters.Add(parm);
            }
            if (!string.IsNullOrEmpty(param.QPartnerId))
            {
                if (param.QListTypeId == "all")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId OR createdby=:PartId "
                        : " AND part_id=:PartId OR createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId OR createdby=:PartId) AND (exists (select 1 from partner where (partner.partner_id = t.part_id or partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId OR createdby=:PartId)  AND (exists (select 1 from partner where (partner.partner_id = t.part_id or partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId OR createdby=:PartId "
                        : " AND part_id=:PartId OR createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                    }
                }
                else if (param.QListTypeId == "debit")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId "
                        : " AND part_id=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId) AND (exists (select 1 from partner where (partner.partner_id = t.part_id) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId)  AND (exists (select 1 from partner where (partner.partner_id = t.part_id) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE part_id=:PartId " : " AND part_id=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                    }
                }
                else if (param.QListTypeId == "credit")
                {
                    if (param.QScope == "CurOpOnly")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE createdby=:PartId "
                        : " AND createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else if (param.QScope == "Exclusive")
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString())
                        ? " WHERE (part_id=:PartId) AND (exists (select 1 from partner where (partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))"
                        : " AND (part_id=:PartId)  AND (exists (select 1 from partner where (partner.partner_id = t.createdby) and partner.ref_partner = '" + param.QueryUser + "'))");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QueryUser
                        };
                        parameters.Add(parm);
                    }
                    else
                    {
                        WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE createdby=:PartId " : " AND createdby=:PartId  ");
                        var parm = new OracleParameter {
                            ParameterName = "PartId", OracleDbType = OracleDbType.Varchar2, Value = param.QPartnerId
                        };
                        parameters.Add(parm);
                    }
                }
            }
            if (param.QFromDate > DateTime.MinValue && param.QFromDate != null)
            {
                WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE trunc(createdon)>=:StartDate " : " AND trunc(createdon)>=:StartDate   ");
                var parm = new OracleParameter {
                    ParameterName = "StartDate", OracleDbType = OracleDbType.Date, Value = param.QFromDate
                };
                parameters.Add(parm);
            }
            if (param.QToDate > DateTime.MinValue && param.QToDate != null)
            {
                WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE createdon<=:EndDate " : " AND createdon<=:EndDate   ");
                var parm = new OracleParameter {
                    ParameterName = "EndDate", OracleDbType = OracleDbType.Date, Value = param.QToDate
                };
                parameters.Add(parm);
            }

            WhereClause.Append(string.IsNullOrEmpty(WhereClause.ToString()) ? " WHERE ROWNUM <= " + count : " AND ROWNUM <= " + count);

            var masterDataTable = await this.db.GetDataAsync("Select * from v_money_transfer  " + WhereClause + " order by createdon desc", parameters);

            if (masterDataTable == null)
            {
                return(null);
            }
            if (masterDataTable.Rows.Count == 0)
            {
                return(null);
            }

            var moneyTransfer = new List <MoneyTransferDetailQueryDto>();

            foreach (DataRow row in masterDataTable.Rows)
            {
                var obj = ConvertDataRowToDataModel(row);
                moneyTransfer.Add(obj);
            }
            param.Results = moneyTransfer;
            return(param);
        }
        public IActionResult MoneyTranferQuery(MoneyTransferQueryDto model, [FromQuery
                                                                                 (Name = "direction")] string direction)
        {
            #region Prepare Query
            model.Error = string.Empty;
            Partner targetPartner = null;
            var     currUserId    = _partnerManager.GetCurrentUserId(this.HttpContext);
            var     currRoleId    = _partnerManager.GetCurrentUserRole(this.HttpContext);
            var     currAccountId = _partnerManager.GetCurrentUserAccount(this.HttpContext);

            var permission = _partnerActivity.GetPartAct("MoneyTransfer.Query", currRoleId);
            if (permission == null)
            {
                model.Error = "ليس لديك الصلاحيات الكافية";
                return(View(model));
            }
            if (!string.IsNullOrEmpty(model.QPartnerId) && model.QPartnerId != currUserId)
            {
                var validateTargetPartnerResult = _partnerManager.Validate(model.QPartnerId);
                targetPartner = validateTargetPartnerResult.Success ? validateTargetPartnerResult.Partner : null;
                if (targetPartner == null)
                {
                    model.Error = "يرجى التأكد من الرقم المراد الاستعلام عنه";
                    return(View(model));
                }
            }
            if (permission.Scope.Id == "CurOpOnly" && model.QPartnerId != currUserId)
            {
                model.Error = "ليس لديك الصلاحيات الكافية للاستعلام عن هذا الرقم";
                return(View(model));
            }
            else if (permission.Scope.Id == "Exclusive" && targetPartner != null && targetPartner.RefPartner.Id != currUserId)
            {
                model.Error = "ليس لديك الصلاحيات الكافية للاستعلام عن هذا الرقم";
                return(View(model));
            }


            #endregion
            ModelState.Clear();
            if (direction == "pre" && model.Paging.PageNo > 1)
            {
                model.Paging.PageNo -= 1;
            }
            if (direction == "next")
            {
                model.Paging.PageNo += 1;
            }

            if (model.QFromDate == DateTime.MinValue)
            {
                model.QFromDate = DateTime.Today.AddMonths(-1);
            }
            if (model.QToDate == DateTime.MinValue)
            {
                model.QFromDate = DateTime.Today;
            }

            model.QueryUser = _partnerManager.GetCurrentUserId(this.HttpContext);
            model.QScope    = permission.Scope.Id;
            var result = new MoneyTransferRepo(_db, _partnerManager, _partnerActivity).MTQueryWithPaging(model);
            if (result != null && result.Results != null)
            {
                model.Paging.Count = new MoneyTransferRepo(_db, _partnerManager, _partnerActivity).GetCount(model);
            }
            else
            {
                model.Paging.Count = 0;
            }

            return(View(result));
        }