예제 #1
0
        private PartnerActivityDetail ConvertDataRowToDetailDataModel(DataRow row)
        {
            var partAct = new PartnerActivityDetail();

            partAct.Id = row["detail_row_id"] == DBNull.Value ? 0 : int.Parse(row["detail_row_id"].ToString());

            partAct.ParentId = row["master_row"] == DBNull.Value ? 0 : int.Parse(row["master_row"].ToString());

            partAct.ToRole.Id       = row["toroleid"] == DBNull.Value ? 0 : int.Parse(row["toroleid"].ToString());
            partAct.ToRole.Name     = row["torolename"] == DBNull.Value ? string.Empty : row["torolename"].ToString();
            partAct.ToRole.IsActive = row["toroleisactive"] == DBNull.Value ? false : row["toroleisactive"].ToString() == "1" ? true : false;
            partAct.ToRole.Weight   = row["toroleweight"] == DBNull.Value ? 0 : int.Parse(row["toroleweight"].ToString());
            partAct.ToRole.Order    = row["toroleorder"] == DBNull.Value ? byte.MinValue : byte.Parse(row["toroleorder"].ToString());
            partAct.ToRole.Code     = row["torolecode"] == DBNull.Value ? string.Empty : row["torolecode"].ToString();

            partAct.CheckBalanceRequired = row["check_bal"] == DBNull.Value ? true : row["check_bal"].ToString() == "1" ? true : false;
            partAct.MaxValue             = row["max_value"] == DBNull.Value ? 0 : int.Parse(row["max_value"].ToString());
            partAct.MinValue             = row["min_value"] == DBNull.Value ? 0 : int.Parse(row["min_value"].ToString());
            partAct.BonusPercent         = row["bonus_per"] == DBNull.Value ? 0 : double.Parse(row["bonus_per"].ToString());
            partAct.BonusTaxPercent      = row["bonus_tax"] == DBNull.Value ? 0 : double.Parse(row["bonus_tax"].ToString());
            partAct.TaxPercent           = row["taxper"] == DBNull.Value ? 0 : double.Parse(row["taxper"].ToString());
            partAct.FixedFactor          = row["fixed_factor"] == DBNull.Value ? 0 : double.Parse(row["fixed_factor"].ToString());
            partAct.CreatedOn            = row["createdon"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(row["createdon"].ToString());
            partAct.LastEditOn           = row["lastediton"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(row["lastediton"].ToString());
            partAct.CreatedBy.Id         = row["createdby"] == DBNull.Value ? string.Empty : row["createdby"].ToString();
            partAct.CreatedBy.Account    = row["createdbyacc"] == DBNull.Value ? -1 : int.Parse(row["createdbyacc"].ToString());
            partAct.CreatedBy.Name       = row["createdname"] == DBNull.Value ? string.Empty : row["createdname"].ToString();
            return(partAct);
        }
예제 #2
0
        public PartnerActivityDetail GetDetail(string actId, int fromRoleId, int toRoleId, bool withMaster = false)
        {
            var parameters = new List <OracleParameter> {
                new OracleParameter {
                    ParameterName = "actId", OracleDbType = OracleDbType.Varchar2, Value = actId
                },
                new OracleParameter {
                    ParameterName = "fromId", OracleDbType = OracleDbType.Int32, Value = fromRoleId
                },
                new OracleParameter {
                    ParameterName = "toId", OracleDbType = OracleDbType.Int32, Value = toRoleId
                }
            };
            var masterDataTable = this.db.GetData("Select * from V_PARTNER_ACTIVITY_DETAIL  where act_id=:actId and fromroleid=:fromId and toroleid=:toId ", parameters);

            if (masterDataTable != null && masterDataTable.Rows.Count > 0)
            {
                var     partAct = new PartnerActivityDetail();
                DataRow row     = masterDataTable.Rows[0];
                partAct = ConvertDataRowToDetailDataModel(row);
                if (withMaster)
                {
                    partAct.Parent = GetPartActOnly(partAct.ParentId);
                }
                return(partAct);
            }

            return(null);
        }
예제 #3
0
        public PartnerActivityDetail GetDetail(int id, int parentId, bool withMaster = false)
        {
            var parameters = new List <OracleParameter> {
                new OracleParameter {
                    ParameterName = "Row_Id", OracleDbType = OracleDbType.Int32, Value = id
                },
                new OracleParameter {
                    ParameterName = "parentId", OracleDbType = OracleDbType.Int32, Value = parentId
                }
            };
            var masterDataTable = this.db.GetData("Select * from V_PARTNER_ACTIVITY_DETAIL  where detail_row_id=:Row_Id and row_id=:parentId ", parameters);

            var partAct = new PartnerActivityDetail();

            if (masterDataTable != null)
            {
                DataRow row = masterDataTable.Rows[0];
                partAct = ConvertDataRowToDetailDataModel(row);

                if (withMaster)
                {
                    partAct.Parent = GetPartAct(partAct.ParentId);
                }
            }
            return(partAct);
        }
        public IActionResult EditDetail(CreatePartnerActivityDetailDto model)
        {
            if (ModelState.IsValid)
            {
                var currentRoleId = _PartnerManager.GetCurrentUserRole(this.HttpContext);
                var permission    = _partActRepo.GetPartAct("PartnerActivity.Detail.Edit", currentRoleId);
                if (permission == null)
                {
                    toastNotification.AddErrorToastMessage("ليس لديك الصلاحية الكافية", new ToastrOptions
                    {
                        Title = ""
                    });
                    return(Redirect(Request.Headers["Referer"].ToString()));
                }

                var old = _partActRepo.GetDetail(model.Id, model.ParentId);
                if (old == null)
                {
                    return(View(model));
                }


                var originObject = new PartnerActivityDetail();
                originObject.Id                   = model.Id;
                originObject.ParentId             = model.ParentId;
                originObject.ToRole.Id            = model.ToRoleId;
                originObject.CheckBalanceRequired = model.CheckBalanceRequired;
                originObject.MinValue             = model.MinValue;
                originObject.MaxValue             = model.MaxValue;
                originObject.TaxPercent           = model.TaxPercent;
                originObject.BonusPercent         = model.BonusPercent;
                originObject.BonusTaxPercent      = model.BonusTaxPercent;
                originObject.FixedFactor          = model.FixedFactor;
                originObject.CreatedBy.Id         = _PartnerManager.GetCurrentUserId(this.HttpContext);
                var result = _partActRepo.UpdateDetail(originObject);
                if (result.Success)
                {
                    var audit = new DataAudit();
                    audit.Activity.Id    = "PartnerActivity.Detail.Edit";
                    audit.PartnerId      = _PartnerManager.GetCurrentUserId(this.HttpContext);
                    audit.PartnerAccount = _PartnerManager.GetCurrentUserAccount(this.HttpContext);
                    audit.Action.Id      = "Update";
                    audit.Success        = true;
                    audit.OldValue       = old.ToString();
                    audit.NewValue       = originObject.ToString();
                    var auditResult = _auditing.Create(audit);
                    if (!auditResult.Success)
                    {
                        _logger.LogError($"Edit Partner Activity Detail no[{originObject.Id}] , Error was {auditResult.Error}");
                    }
                }
                return(RedirectToAction("Detail", new { id = model.ParentId }));
            }
            model.ToRoles = new RoleRepo(db, _partActRepo).GetRoles();
            return(View(model));
        }
        public IActionResult AddDetail(CreatePartnerActivityDetailDto model)
        {
            if (ModelState.IsValid)
            {
                var currentRoleId = _PartnerManager.GetCurrentUserRole(this.HttpContext);
                var permission    = _partActRepo.GetPartAct("PartnerActivity.Detail.Create", currentRoleId);
                if (permission == null)
                {
                    toastNotification.AddErrorToastMessage("ليس لديك الصلاحية الكافية", new ToastrOptions
                    {
                        Title = ""
                    });
                    return(Redirect(Request.Headers["Referer"].ToString()));
                }

                var masterModel = _partActRepo.GetPartAct(model.ParentId);
                if (masterModel == null)
                {
                    return(null);
                }
                var originObject = new PartnerActivityDetail();
                originObject.ParentId             = model.ParentId;
                originObject.ToRole.Id            = model.ToRoleId;
                originObject.CheckBalanceRequired = model.CheckBalanceRequired;
                originObject.MinValue             = model.MinValue;
                originObject.MaxValue             = model.MaxValue;
                originObject.TaxPercent           = model.TaxPercent;
                originObject.BonusPercent         = model.BonusPercent;
                originObject.BonusTaxPercent      = model.BonusTaxPercent;
                originObject.FixedFactor          = model.FixedFactor;
                originObject.CreatedBy.Id         = _PartnerManager.GetCurrentUserId(this.HttpContext);
                var result = _partActRepo.CreateDetail(originObject);
                if (result.Success)
                {
                    return(RedirectToAction("Detail", new { id = model.ParentId }));
                }
            }
            model.ToRoles = new RoleRepo(db, _partActRepo).GetRoles();
            return(View(model));
        }
예제 #6
0
        public OpertionResult UpdateDetail(PartnerActivityDetail model)
        {
            try
            {
                #region Parameters
                var parameters = new List <OracleParameter> {
                    new OracleParameter {
                        ParameterName = "retVal", OracleDbType = OracleDbType.Int32, Direction = ParameterDirection.ReturnValue
                    },
                    new OracleParameter {
                        ParameterName = "v_row_id", OracleDbType = OracleDbType.Int32, Value = model.Id
                    },
                    new OracleParameter {
                        ParameterName = "v_master_row", OracleDbType = OracleDbType.Int32, Value = model.ParentId
                    },
                    new OracleParameter {
                        ParameterName = "v_dest_role_id", OracleDbType = OracleDbType.Int32, Value = model.ToRole.Id
                    },
                    new OracleParameter {
                        ParameterName = "v_check_bal", OracleDbType = OracleDbType.Int32, Value = model.CheckBalanceRequired ? 1 : 0
                    },
                    new OracleParameter {
                        ParameterName = "v_max_value", OracleDbType = OracleDbType.Decimal, Value = model.MaxValue
                    },
                    new OracleParameter {
                        ParameterName = "v_min_value", OracleDbType = OracleDbType.Decimal, Value = model.MinValue
                    },
                    new OracleParameter {
                        ParameterName = "v_bonus_per", OracleDbType = OracleDbType.Decimal, Value = model.BonusPercent
                    },
                    new OracleParameter {
                        ParameterName = "v_taxper", OracleDbType = OracleDbType.Decimal, Value = model.TaxPercent
                    },
                    new OracleParameter {
                        ParameterName = "v_bonus_tax", OracleDbType = OracleDbType.Decimal, Value = model.BonusTaxPercent
                    },
                    new OracleParameter {
                        ParameterName = "v_createdby", OracleDbType = OracleDbType.Varchar2, Value = model.CreatedBy.Id
                    },
                    new OracleParameter {
                        ParameterName = "v_fixed_factor", OracleDbType = OracleDbType.Decimal, Value = model.FixedFactor
                    }
                };
                #endregion
                db.ExecuteStoredProc("pk_settings.fn_updatepartneractivitydetail", 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
                });
            }
        }