コード例 #1
0
 public PassBookReport(PassBookDto model)
 {
     Date       = model.CreatedDate;
     RefernceNo = (ReferenceIdHelper.getRefId((ServiceType)model.ServiceId)) + model.TransactionId;
     Amount     = model.Amount.HasValue?model.Amount.Value:0;
     Debit      = model.Debit.HasValue ? model.Debit.Value : 0;
     Credit     = model.Credit.HasValue ? model.Credit.Value : 0;
     Balance    = model.Balance.HasValue ? model.Balance.Value : 0;
     Remarks    = model.Remarks;
 }
コード例 #2
0
        private async Task <ObjectDto <BalanceRequestViewModel> > ApproveBalanceFromAccountToRail(BalanceRequestViewModel model)
        {
            var messages = new Messages();
            ObjectDto <BalanceRequestViewModel> result = new ObjectDto <BalanceRequestViewModel>();

            try
            {
                using (var db = new ApplicationDbContext())
                {
                    var userId  = User.Identity.GetUserId();
                    var userObj = await db.PUserProfile.FindAsync(userId);

                    var childObj = await db.PUserProfile.FindAsync(model.UserId);

                    if (childObj.Balance >= model.AmountApproved)
                    {
                        userObj.Balance          += model.AmountApproved;
                        childObj.Balance         -= model.AmountApproved;
                        model.LastModifiedDate    = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
                        childObj.LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
                        userObj.LastModifiedDate  = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
                        db.Entry(new PBalanceRequestDto(model)).State = EntityState.Modified;
                        db.Entry(userObj).State  = EntityState.Modified;
                        db.Entry(childObj).State = EntityState.Modified;

                        var childPassBook = new PassBookDto
                        {
                            Amount           = model.AmountApproved,
                            Balance          = childObj.Balance,
                            Credit           = 0,
                            Debit            = model.AmountApproved,
                            ServiceId        = 0,
                            Status           = (int)StatusFlag.Success,
                            TransactionId    = model.Id,
                            UserId           = childObj.UserId,
                            Remarks          = "Rail Balance Approved",
                            LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")),
                            CreatedDate      = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"))
                        };
                        var userPassBook = new PassBookDto
                        {
                            Amount           = model.AmountApproved,
                            Balance          = userObj.Balance,
                            Credit           = model.AmountApproved,
                            Debit            = 0,
                            Status           = (int)StatusFlag.Success,
                            TransactionId    = model.Id,
                            UserId           = userObj.UserId,
                            Remarks          = "Rail Balance Approved",
                            ServiceId        = 0,
                            LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")),
                            CreatedDate      = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"))
                        };

                        db.PassBook.Add(userPassBook);
                        db.PassBook.Add(childPassBook);
                        if ((await db.SaveChangesAsync()) > 0)
                        {
                            result.Object    = model;
                            result.valid     = true;
                            messages.Message = "You have approved rail balance request for " + childObj.Agency;
                            messages.Type    = Toaster.SUCCESS.ToString();
                            result.messages.Add(messages);
                        }
                        else
                        {
                            messages.Message = "Internal Server Error";
                            result.messages.Add(messages);
                        }
                    }
                    else
                    {
                        messages.Message = "Not enough balance is available in agent's account";
                        result.messages.Add(messages);
                    }
                }
            }
            catch (Exception e)
            {
                messages.Message = e.Message;
                result.messages.Add(messages);
            }
            return(result);
        }
コード例 #3
0
        public async Task <ObjectDto <string> > Refund(UserCasesViewModel model)
        {
            var messages = new Messages();
            ObjectDto <string> result = new ObjectDto <string>();

            using (var db = new ApplicationDbContext())
            {
                var userCaseDto = await db.UserCases.FindAsync(model.Id);

                var userId  = User.Identity.GetUserId();
                var userObj = await db.PUserProfile.FindAsync(userId);

                var childObj = await db.PUserProfile.FindAsync(userCaseDto.UserId);

                if (userObj.Balance >= model.Refund)
                {
                    userObj.Balance  -= model.Refund;
                    childObj.Balance += model.Refund;

                    userCaseDto.LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
                    childObj.LastModifiedDate    = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));
                    userObj.LastModifiedDate     = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"));

                    userCaseDto.Status   = (int)UserCasesStatus.Closed;
                    userCaseDto.Remarks += "<br/>Admin:" + model.Remarks;
                    userCaseDto.Refund   = model.Refund;

                    db.Entry(userCaseDto).State = EntityState.Modified;
                    db.Entry(userObj).State     = EntityState.Modified;
                    db.Entry(childObj).State    = EntityState.Modified;

                    var childPassBook = new PassBookDto
                    {
                        Amount           = model.Refund,
                        Balance          = childObj.Balance,
                        Credit           = model.Refund,
                        Debit            = 0,
                        ServiceId        = userCaseDto.ServiceTypeId,
                        Status           = (int)StatusFlag.Success,
                        TransactionId    = model.TransactionId,
                        UserId           = childObj.UserId,
                        Remarks          = ((UserCaseReason)userCaseDto.Issue).ToString().Replace("_", " ") + " Refund",
                        LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")),
                        CreatedDate      = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"))
                    };
                    var userPassBook = new PassBookDto
                    {
                        Amount           = model.Refund,
                        Balance          = userObj.Balance,
                        Credit           = 0,
                        Debit            = model.Refund,
                        Status           = (int)StatusFlag.Success,
                        TransactionId    = model.TransactionId,
                        UserId           = userObj.UserId,
                        Remarks          = ((UserCaseReason)userCaseDto.Issue).ToString().Replace("_", " ") + " Refund",
                        ServiceId        = userCaseDto.ServiceTypeId,
                        LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")),
                        CreatedDate      = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"))
                    };

                    db.PassBook.Add(userPassBook);
                    db.PassBook.Add(childPassBook);
                    if ((await db.SaveChangesAsync()) > 0)
                    {
                        result.valid     = true;
                        messages.Message = "Case closed & amount has been refunded to " + model.Agency + "'s account";
                        messages.Type    = Toaster.SUCCESS.ToString();
                        result.messages.Add(messages);
                    }
                    else
                    {
                        messages.Message = "Internal Server Error.";
                        result.messages.Add(messages);
                    }
                }
                else
                {
                    messages.Message = "Not enough balance is available in your account";
                    result.messages.Add(messages);
                }
            }
            return(result);
        }