4 пункт?

This commit is contained in:
Павел Сорокин 2023-04-30 20:10:08 +04:00
parent b552441d43
commit 607a58a752
8 changed files with 78 additions and 6 deletions

View File

@ -18,5 +18,7 @@ namespace ShipyardContracts.StoragesContracts
MessageInfoViewModel? GetElement(MessageInfoSearchModel model);
MessageInfoViewModel? Insert(MessageInfoBindingModel model);
MessageInfoViewModel? Update(MessageInfoBindingModel model);
}
}

View File

@ -27,9 +27,9 @@ namespace ShipyardContracts.ViewModels
public string Body { get; set; } = string.Empty;
[DisplayName("Прочитано")]
public bool IsRead { get; private set; } = false;
public bool IsRead { get; set; } = false;
[DisplayName("Ответ")]
public string? AnswerText { get; private set; }
public string? AnswerText { get; set; } = string.Empty;
}
}

View File

@ -66,5 +66,19 @@ namespace ShipyardDataBaseImplement.Implements
context.SaveChanges();
return newMessage.GetViewModel;
}
public MessageInfoViewModel? Update(MessageInfoBindingModel model)
{
using var context = new ShipyardDataBase();
var message = context.Messages.FirstOrDefault(x => x.MessageId ==
model.MessageId);
if (message == null)
{
return null;
}
message.Update(model);
context.SaveChanges();
return message.GetViewModel;
}
}
}

View File

@ -4,6 +4,7 @@ using ShipyardDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -45,6 +46,11 @@ namespace ShipyardDataBaseImplement.Models
};
}
public void Update(MessageInfoBindingModel model)
{
IsRead = model.IsRead;
AnswerText = model.AnswerText;
}
public MessageInfoViewModel GetViewModel => new()
{
Body = Body,
@ -53,6 +59,8 @@ namespace ShipyardDataBaseImplement.Models
MessageId = MessageId,
SenderName = SenderName,
DateDelivery = DateDelivery,
IsRead=IsRead,
AnswerText=AnswerText
};
}
}

View File

@ -54,5 +54,17 @@ namespace ShipyardFileImplement.Implements
source.SaveMessages();
return newMessage.GetViewModel;
}
public MessageInfoViewModel? Update(MessageInfoBindingModel model)
{
var message = source.Messages.FirstOrDefault(x => x.MessageId == model.MessageId);
if (message == null)
{
return null;
}
message.Update(model);
source.SaveImplementers();
return message.GetViewModel;
}
}
}

View File

@ -59,6 +59,15 @@ namespace ShipyardFileImplement.Models
};
}
public void Update(MessageInfoBindingModel model)
{
if (model == null)
{
return;
}
IsRead = model.IsRead;
AnswerText = model.AnswerText;
}
public MessageInfoViewModel GetViewModel => new()
{
Body = Body,
@ -66,7 +75,9 @@ namespace ShipyardFileImplement.Models
DateDelivery = DateDelivery,
SenderName = SenderName,
ClientId = ClientId,
MessageId = MessageId
MessageId = MessageId,
IsRead=IsRead,
AnswerText=AnswerText
};
public XElement GetXElement => new("MessageInfo",
@ -75,7 +86,9 @@ namespace ShipyardFileImplement.Models
new XAttribute("ClientId", ClientId),
new XAttribute("MessageId", MessageId),
new XAttribute("SenderName", SenderName),
new XAttribute("DateDelivery", DateDelivery)
new XAttribute("DateDelivery", DateDelivery),
new XAttribute("IsRead", IsRead),
new XAttribute("AnswerText", AnswerText)
);
}
}

View File

@ -72,5 +72,18 @@ namespace ShipyardListImplement_.Implements
_source.Messages.Add(newMessage);
return newMessage.GetViewModel;
}
public MessageInfoViewModel? Update(MessageInfoBindingModel model)
{
foreach (var message in _source.Messages)
{
if (message.MessageId == model.MessageId)
{
message.Update(model);
return message.GetViewModel;
}
}
return null;
}
}
}

View File

@ -41,7 +41,15 @@ namespace ShipyardListImplement_.Models
MessageId = model.MessageId
};
}
public void Update(MessageInfoBindingModel? model)
{
if (model == null)
{
return;
}
IsRead = model.IsRead;
AnswerText = model.AnswerText;
}
public MessageInfoViewModel GetViewModel => new()
{
Body = Body,
@ -49,7 +57,9 @@ namespace ShipyardListImplement_.Models
DateDelivery = DateDelivery,
SenderName = SenderName,
ClientId = ClientId,
MessageId = MessageId
MessageId = MessageId,
AnswerText = AnswerText,
IsRead = IsRead
};
}
}