private PaymentStatusDTO LoadEntityData(PaymentStatus entity) { var myDto = new PaymentStatusDTO() { Id = entity.Id, Name = entity.Name, Alias = entity.Alias, Remark = entity.Remark }; return(myDto); }
public static PaymentStatus ToEntity(this PaymentStatusDTO paymentstatusDTO) { if (paymentstatusDTO == null) { return(null); } var paymentstatus = new PaymentStatus { Id = paymentstatusDTO.Id, Status = paymentstatusDTO.Status, }; return(paymentstatus); }
public static PaymentStatusDTO ToDto(this PaymentStatus paymentstatus) { if (paymentstatus == null) { return(null); } var paymentstatusDTO = new PaymentStatusDTO { Id = paymentstatus.Id, Status = paymentstatus.Status, }; return(paymentstatusDTO); }
private TombstoneDTO LoadEntityData(Tombstone entity, bool includeAll) { var myDto = new TombstoneDTO() { Id = entity.Id, Name = entity.Name, AreaId = entity.AreaId, RowId = entity.RowId, ColumnId = entity.ColumnId, ParentId = entity.ParentId, Alias = entity.Alias, Remark = entity.Remark, CustomerId = entity.CustomerId, CustomerName = entity.CustomerName, StoneText = entity.StoneText, ExpiryDate = entity.ExpiryDate, BuyDate = entity.BuyDate, LastPaymentDate = entity.LastPaymentDate, BuryDate = entity.BuryDate, Width = entity.Width, Height = entity.Height, Acreage = entity.Acreage, SecurityLevelId = entity.SecurityLevelId, Image = entity.Image, ServiceLevelId = entity.ServiceLevelId, TypeId = entity.TypeId, PaymentStatusId = entity.PaymentStatusId, SortNum = entity.SortNum, CustomerBuryDtos = new List <CustomerDTO>(), AreaSort = "DESC", SupperManage = entity.SupperManage, ManageLimit = entity.ManageLimit }; //包括所有关系 if (includeAll) { if (entity.AreaId > 0) { var cemeteryAreas = _databaseContext.CemeteryAreas.AsNoTracking().FirstOrDefault(a => a.Id == entity.AreaId); CemeteryAreasDTO cemeteryAreasDto = null; if (cemeteryAreas != null) { cemeteryAreasDto = new CemeteryAreasDTO { Id = cemeteryAreas.Id, Name = cemeteryAreas.Name, Alias = cemeteryAreas.Alias, Remark = cemeteryAreas.Remark, RowSort = cemeteryAreas.RowSort ?? "ASC" }; } myDto.AreaEntity = cemeteryAreasDto; myDto.AreaSort = cemeteryAreasDto.RowSort; } if (entity.RowId > 0) { var rows = _databaseContext.CemeteryRows.AsNoTracking().FirstOrDefault(a => a.Id == entity.RowId); CemeteryRowsDTO rowsDto = null; if (rows != null) { rowsDto = new CemeteryRowsDTO { Id = rows.Id, Name = rows.Name, Alias = rows.Alias, Remark = rows.Remark }; } myDto.RowEntity = rowsDto; } if (entity.ColumnId > 0) { var cols = _databaseContext.CemeteryColumns.AsNoTracking().FirstOrDefault(a => a.Id == entity.ColumnId); CemeteryColumnsDTO closDto = null; if (cols != null) { closDto = new CemeteryColumnsDTO { Id = cols.Id, Name = cols.Name, Alias = cols.Alias, Remark = cols.Remark }; } myDto.ColumnEntity = closDto; } if (entity.PaymentStatusId > 0) { var paymentStatus = _databaseContext.PaymentStatus.AsNoTracking().FirstOrDefault(a => a.Id == entity.PaymentStatusId); PaymentStatusDTO paymentStatusDto = null; if (paymentStatus != null) { paymentStatusDto = new PaymentStatusDTO { Id = paymentStatus.Id, Name = paymentStatus.Name, Alias = paymentStatus.Alias, Remark = paymentStatus.Remark }; } myDto.PaymentStatusEntity = paymentStatusDto; } if (entity.SecurityLevelId > 0) { var securityLevels = _databaseContext.SecurityLevels.AsNoTracking().FirstOrDefault(a => a.Id == entity.SecurityLevelId); if (securityLevels != null) { myDto.SecurityLevelName = securityLevels.Name; } } if (entity.ServiceLevelId > 0) { var serviceLevels = _databaseContext.ServiceLevels.AsNoTracking().FirstOrDefault(a => a.Id == entity.ServiceLevelId); if (serviceLevels != null) { myDto.ServiceLevelName = serviceLevels.Name; } } //装载该墓碑落葬人 var tombstoneBuriedPeopleMaps = _databaseContext.TombstoneBuriedPeopleMaps.Where(a => a.TombstoneId == myDto.Id); foreach (var tombstoneBuriedPeopleMap in tombstoneBuriedPeopleMaps) { var customer = _databaseContext.Customers.FirstOrDefault(a => a.Id == tombstoneBuriedPeopleMap.BuriedCustomerId); if (customer != null) { var customerDto = new CustomerDTO { Id = customer.Id, FirstName = customer.FirstName, MiddleName = customer.MiddleName, LastName = customer.LastName }; myDto.CustomerBuryDtos.Add(customerDto); } } } return(myDto); }
public int PaymentProcessBusinessLogic(CardInformationDTO cardModel) { try { PaymentStatusDTO payment = new PaymentStatusDTO(); var cardTable = _mapper.Map <CardInformation>(cardModel); var paymentTable = _mapper.Map <PaymentStatus>(payment); if (Common.isValid((long.Parse(cardTable.CreditCardNumber)))) { if (cardTable.ExpirationDate.Year >= DateTime.Now.Year && cardTable.ExpirationDate.Month >= DateTime.Now.Month) { Task <int> finishedTask = null; if (cardModel.Amount <= 20) { Task <int> finishedTask1 = Task.Run(() => _cheapPaymentGateway.ProcessPayment(cardTable)); if (!finishedTask1.IsCompleted) { int result = finishedTask1.Result; paymentTable.Status = "Processed"; Save(cardTable, paymentTable); return(200); } } else if (cardModel.Amount >= 21 && cardModel.Amount <= 500) { finishedTask = Task.Run(() => _expensivePaymentGateway.ProcessPayment(cardTable)); if (!finishedTask.IsCompleted) { Task <int> finishedTask2 = Task.Run(() => _cheapPaymentGateway.ProcessPayment(cardTable)); int result = finishedTask2.Result; paymentTable.Status = "Pending"; Save(cardTable, paymentTable); return(400); } else { paymentTable.Status = "Processed"; Save(cardTable, paymentTable); return(200); } } else if (cardModel.Amount > 500) { var attempts = 3; do { try { attempts++; finishedTask = Task.Run(() => _preminumServiceGateway.ProcessPayment(cardTable)); if (finishedTask.IsCompleted) { paymentTable.Status = "Processed"; Save(cardTable, paymentTable); break; } } catch (Exception ex) { paymentTable.Status = "Failed"; Save(cardTable, paymentTable); if (attempts == 3) { throw; } return(500); } } while (true); return(200); } } else { paymentTable.Status = "Pending"; Save(cardTable, paymentTable); return(400); } } else { paymentTable.Status = "Pending"; Save(cardTable, paymentTable); return(400); } return(200); } catch (Exception) { return(500); } }