示例#1
0
 public Stream GetIntruderAlarmAreaGroups()
 {
     string responseBody;
     using (var context = new ServerContext())
     {
         responseBody = JsonConvert.SerializeObject(context.IntruderAlarmAreaGroups, Formatting.Indented);
     }
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#2
0
 public void DeleteIntruderAlarmAreaGroup(string id)
 {
     Guid guidId;
     if (Guid.TryParse(id, out guidId))
         using (var context = new ServerContext())
         {
             var intruderAlarmAreaGroup = context.IntruderAlarmAreaGroups.Find(guidId);
             context.Entry(intruderAlarmAreaGroup).State = EntityState.Deleted;
             context.SaveChanges();
         }
 }
示例#3
0
 public void DeleteAccessRule(string objectId, string subjectId, string actionId)
 {
     Guid guidObjectId;
     int intSubjectId, intActionId;
     if ((Guid.TryParse(objectId, out guidObjectId)) && (int.TryParse(subjectId, out intSubjectId)) &&
         (int.TryParse(actionId, out intActionId)))
         using (var context = new ServerContext())
         {
             var cardReaderGroup = context.AclItems.Find(guidObjectId, intSubjectId, intActionId);
             context.Entry(cardReaderGroup).State = EntityState.Deleted;
             context.SaveChanges();
         }
     else
         throw new BadRequestException("Check key parameters: AclObjectID, AclSubjectID, ActionID");
 }
示例#4
0
 public Stream GetAccessRule(string objectId, string subjectId, string actionId)
 {
     string responseBody;
     Guid guidObjectId;
     int intSubjectId, intActionId;
     if ((Guid.TryParse(objectId, out guidObjectId)) && (int.TryParse(subjectId, out intSubjectId)) &&
         (int.TryParse(actionId, out intActionId)))
         using (var context = new ServerContext())
         {
             responseBody = JsonConvert.SerializeObject(context.AclItems.Find(guidObjectId, intSubjectId, intActionId),
                                                        Formatting.Indented);
         }
     else
         throw new BadRequestException("Check key parameters: AclObjectID, AclSubjectID, ActionID");
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#5
0
        private static Stream AddOrChangeAccessRule(Stream stream, bool add)
        {
            var changedAccessRule = SerializeHelper.GetObjectFromStream<AclItem>(stream);
            int res;
            if ((changedAccessRule.AclObjectID == new Guid()) || (changedAccessRule.AclSubjectID == 0) ||
                (changedAccessRule.ActionID == 0))
            {
                throw new BadRequestException("Check key parameters: AclObjectID, AclSubjectID, ActionID");
            }

            using (var context = new ServerContext())
            {
                AclItem originalAccessRule;
                if (add)
                {
                    originalAccessRule = context.AclItems.Attach(new AclItem());
                    context.Entry(originalAccessRule).State = EntityState.Added;
                }
                else
                {
                    originalAccessRule = context.AclItems.Find(changedAccessRule.AclObjectID, changedAccessRule.AclSubjectID, changedAccessRule.ActionID);
                    if(originalAccessRule == null)
                        throw new BadRequestException("Can't find item with those parameters");
                    context.Entry(originalAccessRule).State = EntityState.Modified;
                }
                context.Entry(originalAccessRule).CurrentValues.SetValues(changedAccessRule);
                res = context.SaveChanges();
            }
            var responseBody = JsonConvert.SerializeObject(res, Formatting.Indented);
            return SerializeHelper.GetResponceFromString(responseBody);
        }
示例#6
0
 private static Stream AddOrChangeIntruderAlarmAreaGroup(Stream stream)
 {
     var chagedIntruderAlarmAreaGroup = SerializeHelper.GetObjectFromStream<IntruderAlarmAreaGroup>(stream);
     int res;
     using (var context = new ServerContext())
     {
         IntruderAlarmAreaGroup originalIntruderAlarmAreaGroup;
         if (chagedIntruderAlarmAreaGroup.Id == new Guid())
         {
             originalIntruderAlarmAreaGroup = context.IntruderAlarmAreaGroups.Attach(new IntruderAlarmAreaGroup());
             context.Entry(originalIntruderAlarmAreaGroup).State = EntityState.Added;
         }
         else
         {
             originalIntruderAlarmAreaGroup = context.IntruderAlarmAreaGroups.Find(chagedIntruderAlarmAreaGroup.Id);
             context.Entry(originalIntruderAlarmAreaGroup).State = EntityState.Modified;
         }
         context.Entry(originalIntruderAlarmAreaGroup).CurrentValues.SetValues(chagedIntruderAlarmAreaGroup);
         res = context.SaveChanges();
     }
     var responseBody = JsonConvert.SerializeObject(res, Formatting.Indented);
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#7
0
 private static Stream AddOrChangeGuest(Stream stream)
 {
     var changedGuest = SerializeHelper.GetObjectFromStream<Guest>(stream);
     int res;
     using (var context = new ServerContext())
     {
         Guest originalGuest;
         if (changedGuest.Id == 0)
         {
             originalGuest = context.Guests.Attach(new Guest());
             context.Entry(originalGuest).State = EntityState.Added;
         }
         else
         {
             originalGuest = context.Guests.Find(changedGuest.Id);
             context.Entry(originalGuest).State = EntityState.Modified;
         }
         context.Entry(originalGuest).CurrentValues.SetValues(changedGuest);
         res = context.SaveChanges();
     }
     var responseBody = JsonConvert.SerializeObject(res, Formatting.Indented);
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#8
0
 public void DeleteCardReader(string id)
 {
     Guid guidId;
     if (Guid.TryParse(id, out guidId))
         using (var context = new ServerContext())
         {
             var cardReader = context.CardReaders.Find(guidId);
             context.Entry(cardReader).State = EntityState.Deleted;
             context.SaveChanges();
         }
 }
示例#9
0
 private static Stream AddOrChangeCardReader(Stream stream)
 {
     var changedCardReader = SerializeHelper.GetObjectFromStream<CardReader>(stream);
     int res;
     using (var context = new ServerContext())
     {
         CardReader originalCardReader;
         if (changedCardReader.Id == new Guid())
         {
             originalCardReader = context.CardReaders.Attach(new CardReader());
             context.Entry(originalCardReader).State = EntityState.Added;
         }
         else
         {
             originalCardReader = context.CardReaders.Find(changedCardReader.Id);
             context.Entry(originalCardReader).State = EntityState.Modified;
         }
         context.Entry(originalCardReader).CurrentValues.SetValues(changedCardReader);
         res = context.SaveChanges();
     }
     var responseBody = JsonConvert.SerializeObject(res, Formatting.Indented);
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#10
0
 public List<Employee> GetEmployeesDbSet()
 {
     List<Employee> res;
     using (var context = new ServerContext())
     {
         res = context.Employees.AsEnumerable().ToList();
     }
     return res;
 }
示例#11
0
 public Stream GetEmployees()
 {
     string responseBody;
     using (var context = new ServerContext())
     {
         responseBody = JsonConvert.SerializeObject(context.Employees, Formatting.Indented);
     }
     return SerializeHelper.GetResponceFromString(responseBody);
 }
示例#12
0
 public void DeleteGuest(string id)
 {
     int intId;
         if (int.TryParse(id, out intId))
             using (var context = new ServerContext())
             {
                 var guest = context.Guests.Find(intId);
                 context.Entry(guest).State = EntityState.Deleted;
                 context.SaveChanges();
             }
 }
示例#13
0
 public void DeleteEmployee(string id)
 {
     int intId;
     if(int.TryParse(id, out intId))
         using (var context = new ServerContext())
         {
             var employee = context.Employees.Find(intId);
             context.Entry(employee).State = EntityState.Deleted;
             context.SaveChanges();
         }
 }