Ejemplo n.º 1
0
 public JsonResult Edit(MonitoringDTO monitoring)
 {
     return(Json(monitoringService.EditMonitoring(monitoring).Result));
 }
Ejemplo n.º 2
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"));
            }
        }