Example #1
0
        public OperationResult CreateMonitoring(MonitoringDTO monitoringDto)
        {
            if (monitoringDto == null)
            {
                throw new ArgumentNullException(nameof(monitoringDto), "Monitoring is null");
            }
            var        mapper     = new MapperConfiguration(cfg => cfg.CreateMap <MonitoringDTO, Monitoring>()).CreateMapper();
            Monitoring monitoring = mapper.Map <MonitoringDTO, Monitoring>(monitoringDto);

            Database.Monitorings.Create(monitoring);
            Database.Save();
            return(new OperationResult("Monitoring was created"));
        }
Example #2
0
        public async Task <JsonResult> GetSensorById(SensorId model)
        {
            var results = new List <ValidationResult>();
            var context = new ValidationContext(model);

            if (!Validator.TryValidateObject(model, context, results, true))
            {
                return(Json("Bad data"));
            }
            ApplicationUserDTO checkUser = new ApplicationUserDTO
            {
                Email         = model.Email,
                SecurityStamp = model.SecurityStamp
            };

            try
            {
                ApplicationUserDTO user = await userService.GetUserByEmailAndSecurityStamp(checkUser);

                if (user.Role != "user")
                {
                    return(Json("Only User can have sensors"));
                }
                else
                {
                    var sensor = sensorService.GetSensorById(model.Id);
                    if (sensor.ApplicationUserId != user.Id)
                    {
                        return(Json("You doesn't have access to this sensor"));
                    }
                    var        mapper    = new AutoMapper.MapperConfiguration(cfg => cfg.CreateMap <SensorDTO, GetSensor>()).CreateMapper();
                    GetSensor  getSensor = mapper.Map <SensorDTO, GetSensor>(sensor);
                    ProductDTO product   = productService.GetProductById(sensor.ProductId);
                    getSensor.ProductName = product.Name;
                    MonitoringDTO      monitoring = monitoringService.GetMonitoringsBySensorId(sensor.Id);
                    ApplicationUserDTO observer   = await userService.GetUserById(monitoring.ApplicationUserId);

                    getSensor.ObserverEmail = observer.Email;

                    return(Json(getSensor, JsonRequestBehavior.AllowGet));
                }
            }
            catch
            {
                return(Json("Email or Token is wrong"));
            }
        }
Example #3
0
        public MonitoringDTO GetMonitoringsBySensorId(int?id)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id), "Sensor id is null");
            }

            var monitoring = Database.Monitorings.Find(i => i.SensorId == id.Value).FirstOrDefault();

            if (monitoring == null)
            {
                throw new Exception("Sensor doesn't have monitoring");
            }
            var           mapper        = new MapperConfiguration(cfg => cfg.CreateMap <Monitoring, MonitoringDTO>()).CreateMapper();
            MonitoringDTO monitoringDTO = mapper.Map <Monitoring, MonitoringDTO>(monitoring);

            return(monitoringDTO);
        }
Example #4
0
        public MonitoringDTO GetMonitoringById(int?id)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id), "Monitorng id is null");
            }

            Monitoring monitoring = Database.Monitorings.Get(id.Value);

            if (monitoring == null)
            {
                throw new Exception("Monitorng is not found");
            }
            var           mapper        = new MapperConfiguration(cfg => cfg.CreateMap <Monitoring, MonitoringDTO>()).CreateMapper();
            MonitoringDTO monitoringDTO = mapper.Map <Monitoring, MonitoringDTO>(monitoring);

            return(monitoringDTO);
        }
Example #5
0
        public OperationResult EditMonitoring(MonitoringDTO monitoringDto)
        {
            if (monitoringDto == null)
            {
                throw new ArgumentNullException(nameof(monitoringDto), "Monitoring is null");
            }

            Monitoring monitoring = Database.Monitorings.Get(monitoringDto.Id);

            if (monitoring == null)
            {
                throw new Exception("Monitoring is not found");
            }
            monitoring.ApplicationUserId = monitoringDto.ApplicationUserId;
            monitoring.SensorId          = monitoringDto.SensorId;
            Database.Monitorings.Update(monitoring);
            Database.Save();
            return(new OperationResult("Monitoring was edited"));
        }
Example #6
0
 public JsonResult Edit(MonitoringDTO monitoring)
 {
     return(Json(monitoringService.EditMonitoring(monitoring).Result));
 }
Example #7
0
 public JsonResult Create(MonitoringDTO monitoring)
 {
     return(Json(monitoringService.CreateMonitoring(monitoring).Result));
 }
Example #8
0
        public async Task <JsonResult> SiteEdit(EditSensorModel model)
        {
            var results = new List <ValidationResult>();
            var context = new ValidationContext(model);

            if (!Validator.TryValidateObject(model, context, results, true))
            {
                return(Json("Bad data"));
            }
            ApplicationUserDTO checkUser = new ApplicationUserDTO
            {
                Email         = model.EmailAdmin,
                SecurityStamp = model.SecurityStamp
            };

            try
            {
                ApplicationUserDTO user = await userService.GetUserByEmailAndSecurityStamp(checkUser);

                if (user.Role != "user")
                {
                    return(Json("Only User can have sensors"));
                }
                else
                {
                    try
                    {
                        var sensor = sensorService.GetSensorById(model.Id);
                        if (sensor.ApplicationUserId != user.Id)
                        {
                            return(Json("You doesn't have access to this sensor"));
                        }
                        try
                        {
                            ApplicationUserDTO userObserver = await userService.GetUserByEmail(model.ObserverEmail);

                            try
                            {
                                MonitoringDTO monitoring = monitoringService.GetMonitoringsBySensorId(sensor.Id);
                                monitoring.ApplicationUserId = userObserver.Id;
                                monitoringService.EditMonitoring(monitoring);
                                try
                                {
                                    sensor.IsWorking       = model.IsWorking;
                                    sensor.AutoDelivery    = model.AutoDelivery;
                                    sensor.DeliveryAddress = model.DeliveryAddress;
                                    sensor.Name            = model.Name;
                                    sensor.CountProduct    = model.CountProduct;
                                    return(Json(sensorService.EditSensor(sensor).Result, JsonRequestBehavior.AllowGet));
                                }
                                catch
                                {
                                    return(Json("Bad with update Sensor", JsonRequestBehavior.AllowGet));
                                }
                            }
                            catch
                            {
                                return(Json("Bad with update Monitoring"));
                            }
                        }
                        catch
                        {
                            return(Json("Observer Email is wrong"));
                        }
                    }
                    catch
                    {
                        return(Json("Wrong Sensor Id"));
                    }
                }
            }
            catch
            {
                return(Json("Email or Token is wrong"));
            }
        }