public async Task <IActionResult> Post([FromBody] ProjectMaintenanceDto dto) { if (!ModelState.IsValid) { return(BadRequest(new { message = "Not a valid model" + ModelState.ToString() })); } try { _UnitOfWork.Transaction = _UnitOfWork.Begin(); var id = await _UnitOfWork.ProjectMaintenanceRepository.InsertProjectMaintenanceAsync(dto); _UnitOfWork.Commit(); return(Ok(id)); } catch (Exception ex) { _UnitOfWork.Dispose(); return(BadRequest(new { message = ex.Message })); } finally { _UnitOfWork.Dispose(); } }
private ProjectMaintenanceDto checkCurrency(ProjectMaintenanceDto dto) { if (dto.EstimateCost == null) { dto.EstimateCostCurrencyId = null; } return(dto); }
public async Task <int> InsertProjectMaintenanceAsync(ProjectMaintenanceDto dto) { dto = checkCurrency(dto); var sql = " DECLARE @ID int;" + " INSERT INTO [dbo].[ProjectMaintenance] " + " ([ProjectId] " + " ,[StartDate] " + " ,[EndDate] " + " ,[MaintenanceName] " + " ,[MaintenanceContent] " + " ,[EstimateCost] " + " ,[EstimateCostCurrencyId] " + " ,[EstimateManDay] " + " ,[DeliveryDate] " + " ,[PaymentDate] " + " ,[MaintenanceStatusId] " + " ,[CreatedId] " + " ,[CreatedDate]) " + " VALUES " + " (@ProjectId " + " ,@StartDate" + " ,@EndDate " + " ,@MaintenanceName " + " ,@MaintenanceContent " + " ,@EstimateCost " + " ,@EstimateCostCurrencyId " + " ,@EstimateManDay " + " ,@DeliveryDate " + " ,@PaymentDate " + " ,@MaintenanceStatusId " + " ,@CreatedId " + " ,GETDATE() )" + " SET @ID = SCOPE_IDENTITY(); " + " SELECT @ID"; var id = await Connection.QuerySingleAsync <int>(sql, new { ProjectId = dto.ProjectId, StartDate = dto.StartDate, EndDate = dto.EndDate, EstimateCost = dto.EstimateCost, EstimateCostCurrencyId = dto.EstimateCostCurrencyId, EstimateManDay = dto.EstimateManDay, DeliveryDate = dto.DeliveryDate, PaymentDate = dto.PaymentDate, MaintenanceStatusId = dto.MaintenanceStatusId, MaintenanceName = dto.MaintenanceName, MaintenanceContent = dto.MaintenanceContent, CreatedId = dto.CreatedId, }, Transaction); return(id); }
public async Task <int> UpdateProjectMaintenanceAsync(ProjectMaintenanceDto dto) { dto = checkCurrency(dto); var sql = " UPDATE [dbo].[ProjectMaintenance] " + " SET [ProjectId] = @ProjectId " + " ,[StartDate] = @StartDate " + " ,[EndDate] = @EndDate " + " ,[MaintenanceName] = @MaintenanceName " + " ,[MaintenanceContent] = @MaintenanceContent " + " ,[EstimateCost] = @EstimateCost " + " ,[EstimateCostCurrencyId] = @EstimateCostCurrencyId " + " ,[EstimateManDay] = @EstimateManDay " + " ,[DeliveryDate] = @DeliveryDate " + " ,[PaymentDate] = @PaymentDate " + " ,[MaintenanceStatusId] = @MaintenanceStatusId " + " ,[UpdatedId] = @UpdatedId" + " ,[UpdatedDate] = GetDate() " + " WHERE Id = @Id"; var x = await Connection.ExecuteAsync(sql, new { Id = dto.Id, ProjectId = dto.ProjectId, StartDate = dto.StartDate, EndDate = dto.EndDate, EstimateCost = dto.EstimateCost, EstimateCostCurrencyId = dto.EstimateCostCurrencyId, EstimateManDay = dto.EstimateManDay, DeliveryDate = dto.DeliveryDate, PaymentDate = dto.PaymentDate, MaintenanceStatusId = dto.MaintenanceStatusId, MaintenanceName = dto.MaintenanceName, MaintenanceContent = dto.MaintenanceContent, UpdatedId = dto.UpdatedId, }, Transaction); return(x); }