public TransferBalanceOut TransferBalance(TransferBalanceIn input) { var output = new TransferBalanceOut() { result = Entities.Common.Result.Error }; var request = new Business.User.User(); var getUserInfoOut = request.GetUsers(new MethodParameters.User.GetUsersIn() { }).listUsers.FirstOrDefault(x => x.usrID == input.currentUser.usrID); var permissionRequest = new Business.Permission.Permission(); var validateAccesFunctionOut = permissionRequest.GetPermissionByRole(new MethodParameters.Permission.GetPermissionByRoleIn() { role = getUserInfoOut.usr_role }); if (validateAccesFunctionOut.result == Entities.Common.Result.Success && validateAccesFunctionOut.listPermissions.FirstOrDefault(x => x.pm_code == "06") != null) { var getUserOut = request.GetUser(new MethodParameters.User.GetUserIn() { usr_userName = input.usr_userNameOrigin }); if (getUserOut.result == Entities.Common.Result.Success && getUserOut.user.usr_balance >= input.valueTransfer) { var transferBalanceOut = request.TransferBalance(new MethodParameters.User.TransferBalanceIn() { usr_userNameOrigin = input.usr_userNameOrigin, usr_userNameDestiny = input.usr_userNameDestiny, valueTransfer = input.valueTransfer }); if (transferBalanceOut.result == Entities.Common.Result.Success) { output.message = "Transferencia realizada con exito"; output.result = Entities.Common.Result.Success; } } else if (getUserOut.result == Entities.Common.Result.Success) { output.message = "El valor a transferir supera el balance de la cuenta de origen"; output.result = Entities.Common.Result.Success; } } else if (validateAccesFunctionOut.result == Entities.Common.Result.Success) { output.message = "Esta funcionalidad no se encuentra disponible para no usuarios"; } return(output); }
//[CustomAuthorizationFilterAttribute] public IHttpActionResult TransferBalance(TransferBalanceIn input) { if (ModelState.IsValid) { var user = new SystemManagement.Business.Controllers.User(); var transferBalanceOut = user.TransferBalance(input); return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.OK, transferBalanceOut))); } else { var output = new TransferBalanceOut(); output.result = SystemManagement.Entities.Common.Result.Error; output.message = DetailErrorBadRequest(ModelState); return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.BadRequest, output))); } }
public TransferBalanceOut TransferBalance(TransferBalanceIn input) { TransferBalanceOut output = new TransferBalanceOut() { result = Entities.Common.Result.Error }; using (var dataContext = DataContextHelper.GetDataContext <UserDataContext>()) { var linqResult = dataContext.spr_setTransferBalance( input.usr_userNameOrigin, input.usr_userNameDestiny, input.valueTransfer ); if (linqResult.FirstOrDefault().result > 0) { output.result = Entities.Common.Result.Success; } } return(output); }