public async Task <IActionResult> ReceiptCode(int Id) { var user = await userManager.FindByIdAsync(User.FindFirst("Id")?.Value); if (user == null) { return(Unauthorized()); } if (await userManager.IsInRoleAsync(user, "User") && user?.Confirmed == Confirmed.approved && !user.Block) { var order = _contect.Orders.Include(i => i.User.UserIdentity).SingleOrDefault(i => i.Id == Id && i.UserId == user.Id); if (order == null) { return(NotFound()); } var ReceiptCode = _contect.ReceiptCode.SingleOrDefault(i => i.OrderId == order.Id); if (order.orderStatus == orderStatus.delivery) { if (ReceiptCode == null) { ReceiptCode = new ReceiptCode(); ReceiptCode.UserId = user.Id; ReceiptCode.Code = new Random().Next(1234, 9999); ReceiptCode.OrderId = Id; ReceiptCode.ExperDate = DateTime.Now.AddMinutes(10); _contect.ReceiptCode.Add(ReceiptCode); } else { ReceiptCode.UserId = user.Id; ReceiptCode.Code = new Random().Next(1234, 9999); ReceiptCode.OrderId = Id; ReceiptCode.ExperDate = DateTime.Now.AddMinutes(10); } //var conne= _contect.NotificationTokens.Where(i=) _contect.SaveChanges(); try { // string body = $"Hi \n the Receipt Code of Order Number# :{order.Id.ToString()} \n Receipt Code : {ReceiptCode.Code.ToString()} \n ExperDate : { ReceiptCode.ExperDate.ToString()}"; // AlertNotifiction.SendEmail(user.Email, "Receipt Code", _SmtpSettings, "Hi the Receipt Code of Receipt Code : " + ReceiptCode.Code.ToString() ); //AlertNotifiction.SendEmail(order.User.UserIdentity.Email, "orderStatus Receipt", _SmtpSettings, "Hi the Receipt Code of Receipt Code : "); } catch (Exception e) { } } return(Ok( new { // ReceiptCode.ID, ReceiptCode.Code, ReceiptCode.OrderId, ReceiptCode.ExperDate, })); } return(Unauthorized("token not User")); }
public async Task <IActionResult> Receipt(ReceiptModelView model) { var order = new Order(); var ReceiptCode = new ReceiptCode(); var user = await userManager.FindByIdAsync(User.FindFirst("Id")?.Value); if (user == null) { return(Unauthorized()); } if (await userManager.IsInRoleAsync(user, "Sealler") && user?.Confirmed == Confirmed.approved && !user.Block) { order = _contect.Orders.SingleOrDefault(i => i.Id == model.OrderId); if (order == null) { return(NotFound()); } ReceiptCode = _contect.ReceiptCode.SingleOrDefault(i => i.OrderId == order.Id && i.UserId == order.UserId && i.Code.ToString() == model.Code && i.ExperDate >= DateTime.Now); if (ReceiptCode == null) { return(NotFound()); } else { ReceiptCode.SeallerId = user.Id; ReceiptCode.ReceiptDate = DateTime.Now; order.orderStatus = orderStatus.Receipt; order.ReceiptDate = ReceiptCode.ReceiptDate; _contect.SaveChanges(); var connectionFierbaseId = _contect.NotificationTokens.Where(i => i.UserId == order.UserId || i.UserId == order.SeallerId) .Select(i => i.connectionFierbaseId).ToList(); AlertNotifiction.Notifiction_push(ServerKey, senderId, connectionFierbaseId, " الطلب استلام الطلب", $"{order.ProductAName} تم استلام الطلب طلب للمنتج "); } return(Ok( new { order.Id, order.ProductName, order.ProductAName, order.Productprice, order.description, // ProductForm = order.Form?.Select(i => new { i.id, i.AKey, i.Key, i.value }).ToList(), order.CodeColor, order.ANameColor, order.NameColor, order.orderStatus, order.Cuantity, order.ProductpriceTotal, order.Date, order.Timespent, order.TimespentEnd, order.UserAddress, order.otherPhoneNo, order.ReceiptDate, })); } else { return(Unauthorized()); } }