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 }); }
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); }
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 }); }
public void UpdateBTS(BTSDTO btsDTO, DateTime dateStamp) { if (btsDTO == null) { throw new ArgumentNullException("BTS model is null."); } tblM_BTS bts = btsFactory.CreateFromDbAndUpdateFromDTO(btsDTO, dateStamp); }
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); }
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); }
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); } }
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(), }); }
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, }); }
public BTSDTO GetByTowerID(string towerId) { BTSDTO record = GetQuery().FirstOrDefault(bts => bts.TowerID == towerId); return(record); }
public BTSDTO GetByName(string name) { BTSDTO record = GetQuery().FirstOrDefault(bts => bts.Name == name); return(record); }