Пример #1
0
 public bool AddPrisoner(PrisonerDto prisoner, out int newId)
 {
     if (prisoner != null)
     {
         dataService.ExecNonQuery("insertPrisoner", prisoner, "newID", out int lasID);
         var countPhones = prisoner.PhoneNumbers.Length;
         var phones      = new Phone[countPhones];
         if (lasID != default(int))
         {
             for (int i = 0; i < countPhones; i++)
             {
                 phones[i] = new Phone()
                 {
                     PrisonerId  = lasID,
                     PhoneNumber = prisoner.PhoneNumbers[i]
                 };
             }
             dataService.ExecNonQuery("dbo.InsertPhoneNumbers", phones);
             newId = lasID;
             return(true);
         }
     }
     newId = default(int);
     return(default(bool));
 }
Пример #2
0
        public bool AddPrisoner(PrisonerDto prisoner, out int newId)
        {
            int _newId = default(int);
            var result = new PrisonerServiceClient()
                         .Execute(client => client.AddPrisoner(prisoner, out _newId));

            newId = _newId;
            return(result);
        }
Пример #3
0
        public static string ExportPrisonersInbox(SoftJailDbContext context, string prisonersNames)
        {
            var names = prisonersNames.Split(',');

            var prisoners = context.Prisoners
                            .Include(p => p.Mails)
                            .Where(p => names.Any(n => n == p.FullName))
                            .ToArray();

            var result = new List <PrisonerDto>();

            foreach (var p in prisoners)
            {
                PrisonerDto prisonerDto = new PrisonerDto
                {
                    Id = p.Id,
                    IncarcerationDate = p.IncarcerationDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture),
                    Name = p.FullName,
                };

                var messages = new List <MailDto>();

                foreach (var m in p.Mails)
                {
                    var charArray = m.Description.ToCharArray();
                    Array.Reverse(charArray);
                    var desc = new string(charArray);

                    MailDto mailDto = new MailDto {
                        Description = desc
                    };

                    messages.Add(mailDto);
                }

                prisonerDto.EncryptedMessages = messages.ToArray();

                result.Add(prisonerDto);
            }

            var export = result.OrderBy(a => a.Name).ThenBy(a => a.Id).ToArray();

            var sb = new StringBuilder();

            var serializer = new XmlSerializer(typeof(PrisonerDto[]), new XmlRootAttribute("Prisoners"));

            serializer.Serialize(new StringWriter(sb), export, new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }));

            var xml = sb.ToString();

            return(xml);
        }
Пример #4
0
 public void EditPrisoner(PrisonerDto prisoner)
 {
     if (prisoner != null)
     {
         dataService.ExecNonQuery("EditPrisoner", prisoner);
         var countPhones = prisoner.PhoneNumbers.Length;
         var phones      = new Phone[countPhones];
         for (int i = 0; i < countPhones; i++)
         {
             phones[i] = new Phone()
             {
                 PrisonerId  = prisoner.PrisonerId,
                 PhoneNumber = prisoner.PhoneNumbers[i]
             };
         }
         dataService.ExecNonQuery("dbo.InsertPhoneNumbers", phones);
     }
 }
Пример #5
0
        public static string ExportPrisonersByCells(SoftJailDbContext context, int[] ids)
        {
            var prisonersToSerialize = new List <PrisonerDto>();

            foreach (var id in ids)
            {
                var prisoner = context.Prisoners.Include(x => x.Cell).FirstOrDefault(p => p.Id == id);

                var prisiniorDto = new PrisonerDto()
                {
                    Id         = prisoner.Id,
                    Name       = prisoner.FullName,
                    CellNumber = prisoner.Cell.CellNumber
                };

                List <OfficerDto> prisonerOfficers = new List <OfficerDto>();

                var officers = context.OfficersPrisoners.Where(p => p.PrisonerId == id).Select(op => op.Officer)
                               .ToList();

                foreach (var officer in officers.OrderBy(x => x.FullName).ThenBy(x => x.Id))
                {
                    prisonerOfficers.Add(new OfficerDto()
                    {
                        Department = officer.Department.Name, OfficerName = officer.FullName, Salary = officer.Salary
                    });
                }

                prisiniorDto.Officers = prisonerOfficers;
                prisonersToSerialize.Add(prisiniorDto);
            }

            var jsonString = JsonConvert.SerializeObject(prisonersToSerialize.OrderBy(p => p.Name).ThenBy(p => p.Id), Newtonsoft.Json.Formatting.Indented);

            return(jsonString);
        }