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; }
public UserCasesViewModel(UserCasesDto model) { Id = model.Id; ReferenceNo = (ReferenceIdHelper.getRefId((ServiceType)model.ServiceTypeId)) + model.TransactionId; Date = model.CreatedDate; Issue = ((UserCaseReason)model.Issue).ToString().Replace("_", " "); Refund = model.Refund; Charged = model.Charged; Remarks = model.Remarks; Status = ((UserCasesStatus)model.Status).ToString(); Severity = ((Severity)model.Severity).ToString(); }
public async Task <ObjectDto <decimal> > GetDomesticBooking(FlightBookInput model) { ObjectDto <decimal> result = new ObjectDto <decimal>(); var UId = HttpContext.Current.User.Identity.GetUserId(); var basicAmt = model.OneWayTripBasicAmount; var amt = model.OneWayTripAmount; var markup = model.OneWayTripMarkup; var comm = model.OneWayTripCommission; var doj = model.DOJ.FirstOrDefault(); var fareType = model.FareType.FirstOrDefault(); decimal bal = 0; var segType = "O"; IFormatProvider culture = new System.Globalization.CultureInfo("fr-FR", true); using (var con = new ApplicationDbContext()) { var userObj = await con.PUserProfile.FindAsync(UId); var TraxId = 0; var totalAmt = Convert.ToDecimal(model.OneWayTripAmount + model.OneWayTripMarkup + model.RoundTripAmount + model.RoundTripMarkup); try { if (userObj.Balance > totalAmt) { userObj.Balance -= totalAmt; userObj.LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); con.Entry(userObj).State = EntityState.Modified; if (await con.SaveChangesAsync() > 0) { bal = userObj.Balance; } for (var i = 0; i < model.DOJ.Count(); i++) { var flight = new PFlightDto { Adult = model.AdultCount, Child = model.ChildCount, Infant = model.InfantCount, CreatedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), Origin = model.Origin, Destination = model.Destination, APIId = (int)APIId.Hermes, BasicAmount = Convert.ToDecimal(basicAmt), GrossAmount = Convert.ToDecimal(amt), Commission = Convert.ToDecimal(comm), Markup = Convert.ToDecimal(markup), ServiceType = (int)ServiceType.Flight_Domestic, Contact = model.customerDetails.ContactNumber, Status = (int)StatusFlag.Pending, Email = model.customerDetails.EmailId, UserId = UId, DOJ = Convert.ToDateTime(doj), FareType = fareType, Trip = model.Trip, Type = model.BookingType, }; con.PFlights.Add(flight); if (await con.SaveChangesAsync() > 0) { if (TraxId == 0) { TraxId = flight.Id; } foreach (var pax in model.paxItems) { var detail = new PFlightDetailsDto { PFlightId = flight.Id, Age = Convert.ToInt32(pax.Age), FrequentFlyerNumber = 0, Status = (int)StatusFlag.Pending, CreatedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), FirstName = pax.FirstName, LastName = pax.LastName, Title = pax.Title, Type = pax.PassengerType }; con.PFlightDetails.Add(detail); await con.SaveChangesAsync(); foreach (var seg in model.flightSegments.Where(s => s.SegmentType == segType)) { var segments = new PFlightSegmentsDto { PFlightDetailsId = detail.Id, CreatedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), LastModifiedDate = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")), AirlineCode = seg.AirlineCode, ArrivalDatetime = seg.ArrivalDatetime, ClassCode = seg.ClassCode, DepartureDateTime = seg.DepartureDateTime, Origin = seg.Origin, Destination = seg.Destination, FlightNumber = seg.FlightId }; con.PFlightSegments.Add(segments); } await con.SaveChangesAsync(); } } var it = model.Origin; model.Origin = model.Destination; model.Destination = it; basicAmt = model.RoundTripBasicAmount; amt = model.RoundTripAmount; markup = model.RoundTripMarkup; comm = model.RoundTripCommission; doj = model.DOJ.LastOrDefault(); fareType = model.FareType.LastOrDefault(); segType = "R"; } result.valid = true; var message = new Messages(); message.Message = "*Your booking is in progress. Please check after sometime."; message.Type = Toaster.SUCCESS.ToString(); result.Object = bal; result.messages.Add(message); var emailService = new EMail(); var flightEmails = Convert.ToString(ConfigurationManager.AppSettings.Get("FlightRequestEmails")); var Destination = flightEmails.Split(';')[0]; var BCC = flightEmails.Split(';')[1]; var subject = "Flight Booking Request -" + userObj.Agency + " - " + (ReferenceIdHelper.getRefId(ServiceType.Flight_Domestic) + TraxId); var body = "New request has been generated by " + userObj.Agency + " for ₹" + (model.OneWayTripAmount + model.RoundTripAmount) + "."; body += "<br/><br/><a href='" + model.Url + "'><b>View Request</b></a>"; await emailService.SendAsync(new IdentityMessage() { Body = body, Subject = subject, Destination = Destination }, "", BCC ); } else { result.valid = false; var message = new Messages(); message.Message = "*Your account balance is low"; result.Object = bal; result.messages.Add(message); } } catch (Exception e) { result.valid = false; var message = new Messages(); message.Message = e.InnerException + " " + e.Message; result.Object = bal; result.messages.Add(message); } } return(result); }