예제 #1
0
        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);
        }