public ActionResult <ReturnMessage> SendThirdRequest(SecondAndThirdRequest thirdRequest) { ReturnMessage returnMessage = new ReturnMessage(); try { messageService.SendThirdRequest(thirdRequest); } catch (Exception ex) { returnMessage.Ret = ex.InnerException.Message; return(returnMessage); } returnMessage.Ret = "successfully"; return(returnMessage); }
public void SendSecondRequest(SecondAndThirdRequest secondRequest) { Message newMessage = new Message(); newMessage.Applicant = secondRequest.Applicant; newMessage.Recipient = secondRequest.Recipient; newMessage.SupplyId = secondRequest.SupplyId; newMessage.NeedId = secondRequest.NeedId; newMessage.Time = secondRequest.Time; newMessage.MessageType = "Second"; newMessage.MeaasgeState = "N"; newMessage.Items = new List <Item>(); for (int i = 0; i < secondRequest.Items.Count; i++) { newMessage.Items.Add(new Item()); } for (int i = 0; i < secondRequest.Items.Count; i++) { newMessage.Items[i].ItemName = secondRequest.Items[i].ItemName; newMessage.Items[i].ItemCount = secondRequest.Items[i].ItemCount; } platformContext.Messages.Add(newMessage); var query = platformContext.Messages.Include("Items").FirstOrDefault(p => p.MessageId == secondRequest.TargetMessageId); if (query != null) { query.MeaasgeState = "Y"; } var query_supply = platformContext.Supplies.Include("Items").FirstOrDefault(p => p.SupplyId == secondRequest.SupplyId); if (query_supply != null) { for (int i = 0; i < secondRequest.Items.Count; i++) { for (int j = 0; j < query_supply.Items.Count; j++) { if (query_supply.Items[j].Name == secondRequest.Items[i].ItemName) { query_supply.Items[j].Count = query_supply.Items[j].Count - secondRequest.Items[i].ItemCount; break; } } } } for (int i = 0; i < secondRequest.Items.Count; i++) { Exchange exchange = new Exchange(); exchange.Requestor = secondRequest.Applicant; exchange.Supplicant = secondRequest.Recipient; exchange.NeedId = secondRequest.NeedId; exchange.SupplyId = secondRequest.SupplyId; exchange.ItemName = secondRequest.Items[i].ItemName; exchange.ItemCount = Convert.ToString(secondRequest.Items[i].ItemCount); exchange.Type = "发货"; exchange.Time = secondRequest.Time; platformContext.Exchanges.Add(exchange); } platformContext.SaveChanges(); }