Esempio n. 1
0
        public IHttpActionResult Create([FromBody] BTSDTO bts)
        {
            ThrowIfUserHasNoRole(createRole);
            if (bts == null)
            {
                throw new KairosException("Missing model parameter");
            }

            if (bts.BTS_PK != 0)
            {
                throw new KairosException("Post method is not allowed because the requested primary key is must be '0' (zero) .");
            }
            using (var btsCreateHandler = new BTSCreateHandler(Db, ActiveUser, new BTSValidator(), new BTSFactory(Db, ActiveUser), new BTSQuery(Db), AccessControl))
            {
                using (var transaction = new TransactionScope())
                {
                    var saveResult = btsCreateHandler.Save(btsDTO: bts, dateStamp: DateTime.Now);
                    transaction.Complete();
                    if (saveResult.Success)
                    {
                        return(Ok(new SuccessResponse(saveResult.Model, saveResult.Message)));
                    }
                    return(Ok(new ErrorResponse(ServiceStatusCode.ValidationError, saveResult.ValidationResult, saveResult.Message)));
                }
            }
        }
        public SaveResult <BTSEntryModel> Save(BTSDTO btsDTO, DateTime dateStamp)
        {
            foreach (var item in btsDTO.BTSTechnologies)
            {
                item.BTS_FK = btsDTO.BTS_PK;
            }

            ModelValidationResult validationResult = btsValidator.Validate(btsDTO);

            bool          success = false;
            BTSEntryModel model   = null;

            if (validationResult.IsValid)
            {
                success = true;
                UpdateBTS(btsDTO, dateStamp);
                UpdateBTSTechnologies(btsDTO, dateStamp);
                Db.SaveChanges();
                model = btsEntryDataProvider.Get(btsDTO.BTS_PK);
            }

            return(new SaveResult <BTSEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
Esempio n. 3
0
        private BTSEntryFormData CreateFormData(BTSDTO btsDTO)
        {
            if (btsDTO == null)
            {
                return(new BTSEntryFormData());
            }

            BTSEntryFormData formData = new BTSEntryFormData();

            formData.Technologies = new TechnologyQuery(Db).GetQuery().ToList();
            var _operator = new OperatorQuery(this.Db).GetByPrimaryKey(btsDTO.Operator_FK);

            if (_operator != null)
            {
                formData.Operators.Add(_operator);
            }

            var btsStatusFK = btsDTO.StatusBTS_FK != null ? btsDTO.StatusBTS_FK.Value : 0;

            //var btsStatus = new BTSStatusQuery(this.Db).GetByPrimaryKey(btsStatusFK);
            // var btsStatus = new BTSStatusQuery(this.Db).GetByPrimaryKey(btsStatusFK);
            formData.BTSStatuses = new BTSStatusQuery(this.Db).GetQuery().ToList();


            var area = new AreaQuery(this.Db).GetByPrimaryKey(btsDTO.Area_FK);

            if (area != null)
            {
                formData.Areas.Add(area);
            }

            return(formData);
        }
Esempio n. 4
0
        public SaveResult <BTSEntryModel> Save(BTSDTO btsDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = btsValidator.Validate(btsDTO);
            bool          success = false;
            BTSEntryModel model   = null;

            if (validationResult.IsValid)
            {
                tblM_BTS bts = AddBTS(btsDTO, dateStamp);
                Db.SaveChanges();
                btsDTO.BTS_PK = bts.BTS_PK;
                AddBTSTechnologies(btsDTO, dateStamp);
                Db.SaveChanges();
                success = true;
                model   = btsEntryDataProvider.Get(bts.BTS_PK);
            }

            return(new SaveResult <BTSEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully created." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
Esempio n. 5
0
 public void UpdateBTS(BTSDTO btsDTO, DateTime dateStamp)
 {
     if (btsDTO == null)
     {
         throw new ArgumentNullException("BTS model is null.");
     }
     tblM_BTS bts = btsFactory.CreateFromDbAndUpdateFromDTO(btsDTO, dateStamp);
 }
Esempio n. 6
0
        public BTSDTO GetByPrimaryKey(int primaryKey)
        {
            BTSDTO record = GetQuery().FirstOrDefault(bts => bts.BTS_PK == primaryKey);

            if (record != null)
            {
                record.BTSTechnologies = new BTSTechnologyQuery(Db).GetByBTSFK(primaryKey);
            }
            return(record);
        }
Esempio n. 7
0
        public tblM_BTS AddBTS(BTSDTO btsDTO, DateTime dateStamp)
        {
            if (btsDTO == null)
            {
                throw new ArgumentNullException("BTS model is null.");
            }
            tblM_BTS bts = btsFactory.CreateFromDTO(btsDTO, dateStamp);

            bts           = Db.tblM_BTS.Add(bts);
            btsDTO.BTS_PK = bts.BTS_PK;
            return(bts);
        }
Esempio n. 8
0
        public void AddBTSTechnologies(BTSDTO btsDTO, DateTime dateStamp)
        {
            if (btsDTO == null)
            {
                throw new ArgumentNullException("BTS model is null.");
            }
            foreach (var btsTechnologyDTO in btsDTO.BTSTechnologies)
            {
                var factory = new BTSTechnologyFactory(Db, User);

                tblM_BTSTechnology btsTechnology = factory.CreateFromDTO(btsTechnologyDTO, dateStamp);
                btsTechnology.BTS_FK = btsDTO.BTS_PK;
                btsTechnology        = Db.tblM_BTSTechnology.Add(btsTechnology);
            }
        }
Esempio n. 9
0
        private BTSEntryModel GetCreateStateModel()
        {
            List <Control> formControls = CreateFormControls(0);
            BTSDTO         btsDTO       = new BTSDTO();

            btsDTO.StatusBTS_FK = 1;//default aktif

            BTSEntryFormData formData = new BTSEntryFormData();

            formData.Technologies = new TechnologyQuery(Db).GetQuery().ToList();
            formData.BTSStatuses  = new BTSStatusQuery(this.Db).GetQuery().ToList();
            return(new BTSEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = new BTSDTO(),
            });
        }
Esempio n. 10
0
        private BTSEntryModel GetUpdateStateModel(int btsPK)
        {
            List <Control> formControls = CreateFormControls(btsPK);
            BTSDTO         btsDTO       = btsQuery.GetByPrimaryKey(btsPK);

            if (btsDTO == null)
            {
                throw new KairosException($"Record with primary key '{btsDTO.BTS_PK}' is not found.");
            }

            BTSEntryFormData formData = CreateFormData(btsDTO);

            return(new BTSEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = btsDTO,
            });
        }
Esempio n. 11
0
        public BTSDTO GetByTowerID(string towerId)
        {
            BTSDTO record = GetQuery().FirstOrDefault(bts => bts.TowerID == towerId);

            return(record);
        }
Esempio n. 12
0
        public BTSDTO GetByName(string name)
        {
            BTSDTO record = GetQuery().FirstOrDefault(bts => bts.Name == name);

            return(record);
        }