示例#1
0
        public async Task <HttpResponseMessage> AddCashOut(HttpRequestMessage reqObject)
        {
            string result = string.Empty;

            _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject);

            _CashOut = new CashOut();
            _CashOut = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <CashOut>(_requestedDataObject.BusinessData));

            result = await _ICashOutService.AddCashOut(_CashOut);

            // more code here...
            //return result;

            if (result != null)
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(1, "Cash Out successfully. Your transaction id " + result);
            }
            else
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(0, "Data Not Found...");
            }
            _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject);
            return(_response);
        }
示例#2
0
        public ActionResult CreateCashOut(TypeOut?typeOut, CostCenter?userType)
        {
            var cash = new CashOut();

            cash.TypeOut    = typeOut == null ? TypeOut.Regular : typeOut.Value;
            cash.CostCenter = userType == null ? CostCenter.Other : userType.Value;

            // ViewBag.Kendaraan = db.Kendaraan.Select(p => p.NoKendaraan).ToList();
            ViewBag.Kendaraan = new SelectList(db.Kendaraan, "NoKendaraan", "NoKendaraan");

            if (cash.TypeOut == TypeOut.Irregular)
            {
                var data = db.Quizs.Where(p => p.QuizGroup.GroupType == GroupType.Irregularaties).ToList();
                //data.Insert(0, new Quiz());
                ViewBag.Quiz = new SelectList(data, "Id", "Info");

                ViewBag.QuizInfo = from dt in data select new { dt.Id, label1 = dt.Note1Label, label2 = dt.Note2Label, label3 = dt.Note3Label, requiredAll = dt.RequiredAll };
            }
            else
            {
                var data = db.Quizs.Where(
                    p => p.CostCenter == cash.CostCenter && p.QuizGroup.GroupType != GroupType.Irregularaties).ToList();
                // data.Insert(0, new Quiz());

                ViewBag.Quiz = new SelectList(data, "Id", "Info");


                ViewBag.QuizInfo = from dt in data select new { dt.Id, label1 = dt.Note1Label, label2 = dt.Note2Label, label3 = dt.Note3Label, requiredAll = dt.RequiredAll };
            }

            return(View("CashOut", cash));
        }
示例#3
0
        public HttpResponseMessage DailyCashOut(HttpRequestMessage reqObject)
        {
            string  walletaccNo = string.Empty;
            CashOut _CashOut    = new CashOut();

            //_businessData = _IDataManipulation.GetBusinessData(reqObject);
            _requestedDataObject = _IDataManipulation.GetRequestedDataObject(reqObject);
            if (_requestedDataObject != null && _requestedDataObject.BusinessData != null)
            {
                _CashOut    = JsonConvert.DeserializeObject <CashOut>(_requestedDataObject.BusinessData);
                walletaccNo = _CashOut.WalletAccountNo;
            }

            var result = _ICashOutService.DailyCashOut(_CashOut);

            if (result != null)
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(result, "information has been fetched successfully");
            }
            else
            {
                _serviceResponse = _IDataManipulation.SetResponseObject(result, "Data Not Found...");
            }
            _response = _IDataManipulation.CreateResponse(_serviceResponse, reqObject);
            return(_response);
        }
示例#4
0
        public void AreTheseNumbersTheSame(int num1, int num2, bool expected)
        {
            var profit = new CashOut();

            var actual = profit.AreTheseNumbersTheSame(num1, num2);

            Assert.Equal(expected, actual);
        }
示例#5
0
        private async void CashOutButton_Click(object sender, RoutedEventArgs e)
        {
            var cashOut = new CashOut();

            await DialogHost.Show(cashOut, "RootDialog");

            loadTransactionsList();
        }
示例#6
0
        public HttpResponseMessage CashOut([FromBody] CashOut cashOutRequest)
        {
            if (cashOutRequest == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid parameters!"));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, _spendService.CashOutRequest(cashOutRequest)));
        }
        public async Task Gerar(OperacaoUnariaDto dto)
        {
            operacaoServico.ValidarDescricao(dto.Descricao);

            var conta     = contaServico.ObterConta(dto.ContaId);
            var valorTaxa = dto.Valor * configuracaoServico.ObterPercentualTaxa();

            var cashOut = new CashOut(conta.Id, dto.Valor, dto.Descricao, conta.Saldo, valorTaxa);

            cashOutRepositorio.Post(cashOut);
            contaServico.VincularCashOut(conta, cashOut);

            await produtorClient.EnfileirarCashOut(new EfetivarOperacaoUnariaDto(cashOut.Id));
        }
        public string CreateCommandMessage(Request request)
        {
            BaseCommandModel command;

            switch (request.Action)
            {
            case ActionType.CashOut:
                command = new CashOut();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            command.InitFromParameters(request.Parameters);
            return(new { Action = request.Action.ToString(), JsonData = command.ToJson() }.ToJson());
        }
示例#9
0
        public JsonResult CreateCashoutRegularFinal(CashOut cashout, string log)
        {
            try
            {
                CashOut         cashout1 = cashout;
                string          usr      = User.Identity.GetUserId();
                ApplicationUser xx       = db.Users.Find(usr);

                CutOff cutOff =
                    db.CutOffs.FirstOrDefault(p => p.BranchId == xx.BranchId && p.State == StateCutOff.Open) ??
                    SetCutOff(xx.BranchId.Value);


                if (cashout.Id != 0)
                {
                    cashout = db.CashCards.OfType <CashOut>().First(p => p.Id == cashout.Id);

                    Subtitution(cashout, cashout1);
                }
                else
                {
                    db.CashCards.Add(cashout);
                    //CashOut.Date = DateTime.Now;
                    cashout.CutOffId = cutOff.Id;
                    cashout.UserId   = usr;
                }


                cashout.SetToFinal();
                cashout.LogNote = DateTime.Now.ToString("yyyy-MM-dd HH:mm") + " | " + User.Identity.Name + " | Final | " +
                                  log + "<br>" + cashout.LogNote;

                cashout.RegularDetails.ForEach(p => p.SetSubTotal());
                cashout.SetTotal();
                db.SaveChanges();


                return(Json(new { Success = 1, CashOutId = cashout.Id, ex = "" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Success = 0, ex = ex.Message }));
            }
        }
示例#10
0
        public async Task <CashOutResponse> Post(CashOut request)
        {
            Log.Info(nameof(CashOut));
            Log.Info(request?.ToJson());
            request.Decrypt();
            if (!Constants.AVAILABLE_PAN_NUMBERS.Contains(request?.EncAgentPAN) ||
                !Constants.AVAILABLE_PAN_NUMBERS.Contains(request?.EncConsumerPAN))
            {
                throw new PANNotExistException();
            }

            var response = await request.GetResponse <CashOutResponse>
                               (Constants.PROCESS_REQUEST_URL.PROCESS_POST_CASH_OUT);

            Log.Info(nameof(CashOutResponse));
            Log.Info(response?.ToJson());

            return(response);
        }
        public async Task Gerar_CashOutValido_DeveRetornarOCashOutECalcularTaxa()
        {
            // Arrange
            var conta = new Conta {
                Id = 1
            };
            var valor     = 10m;
            var descricao = "Teste unitário.";

            CashOut cashOutGerado = null;

            var cashOutRepositorio = Substitute.For <ICashOutRepositorio>();

            cashOutRepositorio.When(x => x.Post(Arg.Any <CashOut>()))
            .Do(x => cashOutGerado = x.Arg <CashOut>());

            var configuracaoServico = Substitute.For <IConfiguracaoServico>();

            configuracaoServico.ObterPercentualTaxa().Returns(0.01m);
            configuracaoServico.ObterTamanhoMaximoDescricao().Returns((short)15);

            var contaRepositorio = Substitute.For <IContaRepositorio>();

            contaRepositorio.Any(conta.Id).Returns(true);
            contaRepositorio.Get(conta.Id).Returns(conta);

            var contaServico    = new ContaServico(contaRepositorio);
            var operacaoServico = new OperacaoServico(configuracaoServico);

            var produtorClient = Substitute.For <IProdutorOperacoesClient>();

            var cashOutServico = new CashOutServico(cashOutRepositorio, operacaoServico, contaServico, configuracaoServico, null, produtorClient);

            // Act
            await cashOutServico.Gerar(new OperacaoUnariaDto(conta.Id, valor, descricao));

            // Assert
            Assert.IsNotNull(cashOutGerado);
            Assert.AreEqual(valor, cashOutGerado.Valor);
            Assert.AreEqual(0.1m, cashOutGerado.ValorTaxa);
            Assert.AreEqual(descricao, cashOutGerado.Descricao);
            Assert.AreEqual(StatusOperacao.Pendente, cashOutGerado.Status);
            Assert.AreNotEqual(default, cashOutGerado.Data);
示例#12
0
        private XElement CreateCashOut(CashOut cashOut)
        {
            if (cashOut == null)
            {
                return(null);
            }

            var xmlCashOut = new XElement("CashOut");

            var xmlAmount = new XElement("Amount", cashOut.Amount);

            xmlCashOut.Add(xmlAmount);

            var xmlCurrency = new XElement("Currency", cashOut.Currency);

            xmlCashOut.Add(xmlCurrency);

            return(xmlCashOut);
        }
示例#13
0
        public void VincularCashOut_PassandoPorParametro_DeveVincular()
        {
            // Arrange
            var conta = new Conta {
                CashOuts = new List <CashOut>()
            };
            var cashOut = new CashOut();

            var contaRepositorio = Substitute.For <IContaRepositorio>();

            var contaServico = new ContaServico(contaRepositorio);

            // Act
            contaServico.VincularCashOut(conta, cashOut);

            // Assert
            contaRepositorio.Received(1).Update(conta);
            Assert.IsTrue(conta.CashOuts.Any());
            Assert.AreSame(cashOut, conta.CashOuts.First());
        }
示例#14
0
 public void AddCashOut(int Createdby)
 {
     try
     {
         var sal = (from user in _context.Registration
                    join desig in _context.Designation on user.DesignationID equals desig.DesignationID
                    where user.ID == Createdby
                    select new { user.ID, desig.DesignationID, desig.Salary }).SingleOrDefault();
         CashOut co = new CashOut
         {
             ID            = sal.ID,
             DesignationID = sal.DesignationID,
             Salary        = sal.Salary,
             CashOutDate   = DateTime.Now
         };
         _context.CashOut.Add(co);
         _context.SaveChanges();
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#15
0
        /// <summary>
        /// Initiates the cash out request.
        /// </summary>
        /// <param name="cashOutRequest">The cashout request.</param>
        /// <param name="familyMemberId">The family member identifier.</param>
        /// <returns>The cashout.</returns>
        public CashOut CashOutRequest(CashOut cashOutRequest, int?familyMemberId = null)
        {
            var memberId            = familyMemberId ?? _currentUserService.MemberID;
            var canAllowTransaction = _earningsService.CanTransact(EarningsBucketType.Spend, cashOutRequest.Amount);

            if (cashOutRequest.Amount == 0 || !canAllowTransaction)
            {
                throw new InvalidOperationException("Insufficient balance in spend bucket!");
            }

            cashOutRequest.ChildID = memberId;
            cashOutRequest.Date    = DateTime.UtcNow;

            Repository.Insert(cashOutRequest);

            // Add spend amount to corresponding child
            var childEarnings = _earningsService.GetByMemberId(memberId);

            childEarnings.Spend -= cashOutRequest.Amount;
            _earningsService.Update(childEarnings);

            var child = _familyService.GetMemberById(memberId);
            var admin = _familyService.GetAdmin(child.User.FamilyID);

            var childGenderNotation = child.Gender.Value == Gender.Male ? "him" : "her";
            var message             = $"{child.Firstname.FirstCharToUpper()} wants to transfer ${cashOutRequest.Amount:N2} back into your account so you can give {childGenderNotation} cash instead. Do you approve? Reply YES or NO.";

            _smsApprovalHistory.Add(admin.Id, ApprovalType.CashOut, message, cashOutRequest.Id);

            if (admin != null && !string.IsNullOrEmpty(admin.PhoneNumber))
            {
                _textMessageService.Send(admin.PhoneNumber, message);
            }

            return(cashOutRequest);
        }
示例#16
0
        private void Subtitution(CashOut cashoutDb, CashOut cashoutView)
        {
            cashoutDb.Date = cashoutView.Date;
            cashoutDb.Note = cashoutView.Note;

            //delete detail
            for (int i = cashoutDb.RegularDetails.Count - 1; i >= 0; i--)
            {
                int idReg = cashoutDb.RegularDetails[i].Id;

                CashOutDetail reg = cashoutView.RegularDetails.FirstOrDefault(p => p.Id == idReg);
                if (reg == null)
                {
                    db.Entry(cashoutDb.RegularDetails[i]).State = EntityState.Deleted;
                    //cashoutDb.RegularDetails.RemoveAt(i);
                }
            }
            //add or update detail
            for (int i = 0; i < cashoutView.RegularDetails.Count; i++)
            {
                if (cashoutView.RegularDetails[i].Id == 0)
                {
                    cashoutDb.RegularDetails.Add(cashoutView.RegularDetails[i]);
                }
                else
                {
                    CashOutDetail regDetail = cashoutView.RegularDetails[i];
                    CashOutDetail detail    = cashoutDb.RegularDetails.First(p => p.Id == regDetail.Id);
                    detail.QuizId   = regDetail.QuizId;
                    detail.Quiz     = null;
                    detail.Note1    = regDetail.Note1;
                    detail.Note2    = regDetail.Note2;
                    detail.Note3    = regDetail.Note3;
                    detail.DateInfo = regDetail.DateInfo;

                    detail.Qty      = regDetail.Qty;
                    detail.Amount   = regDetail.Amount;
                    detail.DateInfo = regDetail.DateInfo;
                }
            }

            //image list
            //delete detail
            for (int i = cashoutDb.ImageDatas.Count - 1; i >= 0; i--)
            {
                int idImg = cashoutDb.ImageDatas[i].Id;

                var img = cashoutView.ImageDatas.FirstOrDefault(p => p.Id == idImg);
                if (img == null)
                {
                    db.Entry(cashoutDb.ImageDatas[i]).State = EntityState.Deleted;
                }
            }
            //add or update detail
            for (int i = 0; i < cashoutView.ImageDatas.Count; i++)
            {
                if (cashoutView.ImageDatas[i].Id == 0)
                {
                    cashoutDb.ImageDatas.Add(cashoutView.ImageDatas[i]);
                }
            }
        }
示例#17
0
        /*
         * public string AddCashOut(CashOut _CashOut)
         * {
         *  int result = 0;
         *  _CashOut.TransDT = Convert.ToDateTime(System.DateTime.Now.ToString("dd/MM/yyyy"));
         *  string split_result = string.Empty;
         *  string MainAuthFlag = string.Empty;
         *  AccMasterService _AccInfoService = new AccMasterService();
         *  AccMaster _AccInfo_Post = new AccMaster();
         *  AccMaster _AccInfo_Get = new AccMaster();
         *
         *  StatusWiseServiceService _StatusWiseServiceService = new StatusWiseServiceService();
         *  StatusWiseService _StatusWiseService = new StatusWiseService();
         *  int CheckStatusWiseService = 0;
         *
         *  TransactionRulesService _TransactionRulesService = new TransactionRulesService();
         *  TransactionRules _TransactionRules = new TransactionRules();
         *  int CheckTransactionRules = 0;
         *
         *  AccLimitSetupService _AccLimitSetupService = new AccLimitSetupService();
         *  AccLimitSetup _AccLimitSetup = new AccLimitSetup();
         *  string CheckAccLimit = string.Empty;
         *  try
         *  {
         #region Get SystemAccountNo by WalletAccountNo
         *      _AccInfo_Post.FromSystemAccountNo = _CashOut.FromSystemAccountNo;
         *      _AccInfo_Post.ToSystemAccountNo = _CashOut.ToSystemAccountNo;
         *      _AccInfo_Post.FunctionId = _CashOut.FunctionId;
         *      _AccInfo_Get = _AccInfoService.GetAccInfo(_AccInfo_Post);
         *      if (_AccInfo_Get == null || _AccInfo_Get.FromSystemAccountNo == null || _AccInfo_Get.ToSystemAccountNo == null)
         *      {
         *          split_result = result + ":" + "Account No. not valid..";
         *          return split_result;
         *      }
         #endregion
         *
         #region Check StatusWiseService
         *      _StatusWiseService.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo;
         *      _StatusWiseService.DefineServiceId = _CashOut.DefineServiceId;
         *      CheckStatusWiseService = _StatusWiseServiceService.CheckStatusWiseService(_StatusWiseService);
         *      if (CheckStatusWiseService == 0)
         *      {
         *          split_result = result + ":" + "Account No. is not active for this transaction..";
         *          return split_result;
         *      }
         #endregion
         *
         #region Check TransactionRules
         *      _TransactionRules.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo;
         *      _TransactionRules.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo;
         *      _TransactionRules.DefineServiceId = _CashOut.DefineServiceId;
         *      CheckTransactionRules = _TransactionRulesService.CheckTransactionRules(_TransactionRules);
         *      if (CheckTransactionRules == 0)
         *      {
         *          split_result = result + ":" + "Transaction is not allowed..";
         *          return split_result;
         *      }
         #endregion
         *
         #region Check Limit
         *      _AccLimitSetup.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo;
         *      _AccLimitSetup.FromAccType = _AccInfo_Get.FromAccType;
         *      _AccLimitSetup.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo;
         *      _AccLimitSetup.ToAccType = _AccInfo_Get.ToAccType;
         *      _AccLimitSetup.DefineServiceId = _CashOut.DefineServiceId;
         *      _AccLimitSetup.Amount = _CashOut.Amount;
         *      _AccLimitSetup.TransDT = _CashOut.TransDT;
         *      CheckAccLimit = _AccLimitSetupService.CheckAccLimit(_AccLimitSetup);
         *      if (CheckAccLimit != "true")
         *      {
         *          split_result = result + ":" + CheckAccLimit;
         *          return split_result;
         *      }
         #endregion
         *
         *      if (_AccInfo_Get.FromSystemAccountNo != null && _AccInfo_Get.ToSystemAccountNo != null && CheckStatusWiseService != 0 && CheckTransactionRules != 0 && CheckAccLimit == "true")
         *      {
         *           var _max = _IUoW.Repository<CashOut>().GetMaxValue(x => x.CashOutId) + 1;
         *           _CashOut.CashOutId = _max.ToString().PadLeft(3, '0');
         *           _CashOut.AuthStatusId = "U";
         *           _CashOut.LastAction = "ADD";
         *           _CashOut.MakeDT = System.DateTime.Now;
         *           _CashOut.MakeBy = "prova";
         *          _CashOut.FromSystemAccountNo = _AccInfo_Get.FromSystemAccountNo;
         *          _CashOut.ToSystemAccountNo = _AccInfo_Get.ToSystemAccountNo;
         *          result = _IUoW.Repository<CashOut>().Add(_CashOut);
         *
         #region Auth Log
         *           if (result == 1)
         *           {
         *               string url = ConfigurationManager.AppSettings["LgurdaService_server"] + "/GetAuthPermissionByFunctionId/" + _CashOut.FunctionId + "/" + _CashOut.FunctionName + "?format=json";
         *               using (WebClient wc = new WebClient())
         *               {
         *                   TransactionRules OBJ_TransactionRules = new TransactionRules();
         *                   var json = wc.DownloadString(url);
         *                   OBJ_TransactionRules = JsonConvert.DeserializeObject<TransactionRules>(json);
         *                   MainAuthFlag = OBJ_TransactionRules.GetAuthPermissionByFunctionIdResult;
         *               }
         *               if (MainAuthFlag == "1")
         *               {
         *                   _IAuthLogService = new AuthLogService();
         *                   long _outMaxSlAuthLogDtl = 0;
         *                   result = _IAuthLogService.AddAuthLog(_IUoW, null, _CashOut, "ADD", "0001", "090107004", 1, "CashOut", "MTK_TRN_CASH_OUT", "CashOutId", _CashOut.CashOutId, "prova", _outMaxSlAuthLogDtl, out _outMaxSlAuthLogDtl);
         *               }
         *               if (MainAuthFlag == "0")
         *               {
         *                   _IAuthLogService = new AuthLogService();
         *                   FTAuthLog _ObjAuthLog = new FTAuthLog();
         *                   _ObjAuthLog.TableNm = "MTK_TRN_CASH_OUT";
         *                   _ObjAuthLog.AuthStatusId = "A";
         *                   _ObjAuthLog.LastAction = "ADD";
         *                   _ObjAuthLog.FunctionId = _CashOut.FunctionId;
         *                   _ObjAuthLog.TablePkColVal = _CashOut.CashOutId;
         *                   result = _IAuthLogService.SetTableObject_FT<CashOut>(_IUoW, _ObjAuthLog, _CashOut);
         *               }
         *           }
         #endregion
         *
         *           if (result == 1)
         *           {
         *               _IUoW.Commit();
         *               split_result = result + ":" + "Saved Successfully";
         *           }
         *           else
         *           {
         *               split_result = result + ":" + "information hasn't been added";
         *           }
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      _ObjErrorLogService = new ErrorLogService();
         *      _ObjErrorLogService.AddErrorLog(ex, string.Empty, "AddCashOut(obj)", string.Empty);
         *      split_result = result + ":" + "";
         *  }
         *  return split_result;
         *
         * }
         */

        public async Task <string> AddCashOut(CashOut _CashOut)
        {
            string txn_id = string.Empty;
            await Task.Run(() =>
            {
                using (mTakaDbContext _dbContext = new mTakaDbContext())
                {
                    using (var dbContextTransaction = _dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted))
                    {
                        try
                        {
                            //_dbContext.Database.BeginTransaction(IsolationLevel.ReadCommitted);

                            var param = new OracleParameter("PWALLET_ACC_NO_F", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.FromSystemAccountNo
                            };
                            var param1 = new OracleParameter("PWALLET_ACC_NO_T", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.ToSystemAccountNo
                            };
                            var param2 = new OracleParameter("PDEFINE_SERVICE_ID", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.DefineServiceId
                            };
                            var param3 = new OracleParameter("PAMOUNT", OracleDbType.Decimal, ParameterDirection.Input)
                            {
                                Value = _CashOut.Amount
                            };
                            var param4 = new OracleParameter("PFUNCTIONID", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.FunctionId
                            };
                            var param5 = new OracleParameter("PNARRATION", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.Narration
                            };
                            var param6 = new OracleParameter("PMAKE_BY", OracleDbType.NVarchar2, ParameterDirection.Input)
                            {
                                Value = _CashOut.MakeBy
                            };
                            var param7 = new OracleParameter("PTXN_ID", OracleDbType.NVarchar2, ParameterDirection.Output)
                            {
                                Size = 100
                            };

                            //var newId = DbContext.Database.SqlQuery<int>("EXEC dbo.MyProc @MyID = {0}", parm).First()

                            string commandText = "BEGIN MTK_TXN.CREATE_TRANS(:PWALLET_ACC_NO_F,:PWALLET_ACC_NO_T,:PDEFINE_SERVICE_ID,:PAMOUNT,:PFUNCTIONID,:PNARRATION,:PMAKE_BY,:PTXN_ID); end;";
                            _dbContext.Database.SqlQuery <string>(commandText, param, param1, param2, param3, param4, param5, param6, param7).FirstAsync();
                            dbContextTransaction.Commit();
                            txn_id = param7.Value.ToString();
                        }

                        catch (Exception ex)
                        {
                            dbContextTransaction.Rollback();
                        }
                    }

                    //Log.Info("Thread Id is-->" + Thread.CurrentThread.ManagedThreadId);
                }
            });

            return(txn_id);
        }
示例#18
0
 public void VincularCashOut(Conta conta, CashOut cashOut)
 {
     conta.CashOuts.Add(cashOut);
     contaRepositorio.Update(conta);
 }
示例#19
0
        public IEnumerable <IndPerformanceMonitoringView> DailyCashOut(CashOut _CashOut)
        {
            try
            {
                var color       = "#2E2EFE";
                var walletAccNo = _CashOut.WalletAccountNo;
                var date        = Convert.ToDateTime(DateTime.Now.ToShortDateString());

                if (walletAccNo == null || walletAccNo == "")
                {
                    if (_CashOut.FormDate != null && _CashOut.ToDate != null)
                    {
                        var FormDate = _CashOut.FormDate.Value.Date;
                        var Todate   = _CashOut.ToDate.Value.Date;

                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.TransDT >= FormDate &&
                                                                             x.TransDT <= Todate).
                                            Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                    if (_CashOut.Today == true)
                    {
                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.TransDT == date)
                                            .Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                    else
                    {
                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.AuthStatusId == "A")
                                            .Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                }
                else
                {
                    var result   = _IUoW.Repository <AccMaster>().Get(a => a.WalletAccountNo == walletAccNo).Select(s => s.SystemAccountNo).ToList();
                    var sysAccNo = result[0];

                    if (_CashOut.FormDate != null && _CashOut.ToDate != null)
                    {
                        var FormDate = _CashOut.FormDate.Value.Date;
                        var Todate   = _CashOut.ToDate.Value.Date;

                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.TransDT >= FormDate &&
                                                                             x.TransDT <= Todate &&
                                                                             x.FromSystemAccountNo == sysAccNo).
                                            Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                    if (_CashOut.Today == true)
                    {
                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.TransDT == date &&
                                                                             x.FromSystemAccountNo == sysAccNo).
                                            Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                    else
                    {
                        var _DailyCashOut = _IUoW.Repository <CashOut>().Get(x => x.TransDT == date &&
                                                                             x.FromSystemAccountNo == sysAccNo)
                                            .Select(s => new IndPerformanceMonitoringView
                        {
                            amount = s.Amount,
                            time   = s.TransDT,
                            color  = color
                        }).ToList();

                        return(_DailyCashOut);
                    }
                }
            }
            catch (Exception ex)
            {
                _ObjErrorLogService = new ErrorLogService();
                _ObjErrorLogService.AddErrorLog(ex, string.Empty, "DailyCashOut()", string.Empty);
                return(null);
            }
        }