public void AddRequiredData(FarContract farContract)
        {
            string sql    = $@"select count (1) from FarContract  fc
                            left join
                            FarContractTypeClause fctc
                            on fctc.FarContractTypeClauseGuid = fc.FarContractTypeClauseGuid
                            where ContractGuid = @ContractGuid and fc.IsDeleted =0 and fctc.FarContractTypeGuid = @FarContractTypeGuid";
            var    result = _context.Connection.QuerySingle <int>(sql, new { ContractGuid = farContract.ContractGuid, FarContractTypeGuid = farContract.FarContractTypeGuid });

            if (result == 0)
            {
                string sqlSoftDelete = $@"update FarContract set IsDeleted = 1
                                from FarContract Fc 
                                inner join
                                FarContractTypeClause fctc
                                on fctc.FarContractTypeClauseGuid = Fc.FarContractTypeClauseGuid
                                and
                                fctc.IsRequired = 1
                                 and Fc.ContractGuid =@ContractGuid";
                _context.Connection.Execute(sqlSoftDelete, new { ContractGuid = farContract.ContractGuid });

                string selectSql = $"SELECT FarContractTypeClauseGuid FROM FarContractTypeClause WHERE FarContractTypeGuid = @FarContractTypeGuid AND IsRequired = 1";
                var    datas     = _context.Connection.Query <Guid>(selectSql, new { FarContractTypeGuid = farContract.FarContractTypeGuid });
                foreach (var item in datas)
                {
                    farContract.FarContractTypeClauseGuid = item;
                    var insertSql = $@"INSERT INTO FarContract
                                                (
                                                    ContractGuid,
                                                    FarContractTypeClauseGuid,
                                                    CreatedBy,
                                                    UpdatedBy,
                                                    CreatedOn,
                                                    IsDeleted,
                                                    UpdatedOn
                                               )
                                        VALUES  (
                                                @ContractGuid,
                                                @FarContractTypeClauseGuid,
                                                @CreatedBy,
                                                @UpdatedBy,
                                                @CreatedOn,
                                                @IsDeleted,
                                                @UpdatedOn 
                                                )";
                    _context.Connection.Execute(insertSql, farContract);
                }
            }
        }
        public void Add(FarContract farContract)
        {
            string countSql = $@"SELECT COUNT(*)
                            FROM FarContract
                            WHERE ContractGuid= @contractGuid 
                            AND FarContractTypeClauseGuid = @farContractTypeClauseGuid AND IsDeleted=0 ";
            var    result   = _context.Connection.QueryFirstOrDefault <int>(countSql,
                                                                            new
            {
                contractGuid = farContract.ContractGuid,
                farContractTypeClauseGuid = farContract.FarContractTypeClauseGuid
            });

            if (result == 0)
            {
                var insertSql = $@"INSERT INTO FarContract
                                (
                                    ContractGuid,
                                    FarContractTypeClauseGuid,
                                    CreatedBy,
                                    UpdatedBy,
                                    CreatedOn,
                                    IsDeleted,
                                    UpdatedOn
                                )
                        VALUES  (
                                @ContractGuid,
                                @FarContractTypeClauseGuid,
                                @CreatedBy,
                                @UpdatedBy,
                                @CreatedOn,
                                @IsDeleted,
                                @UpdatedOn 
                                )";
                _context.Connection.Execute(insertSql, farContract);
            }
        }
Esempio n. 3
0
        private ActionResult Save(FarContractViewModel farContractViewModel)
        {
            DateTime CreatedOn = CurrentDateTimeHelper.GetCurrentDateTime();
            Guid     CreatedBy = UserHelper.CurrentUserGuid(HttpContext);
            DateTime UpdatedOn = CurrentDateTimeHelper.GetCurrentDateTime();
            Guid     UpdatedBy = UserHelper.CurrentUserGuid(HttpContext);
            bool     IsDeleted = false;

            if (farContractViewModel.Questionniare != null)
            {
                _contractQuestionariesService.AddQuestionaires(farContractViewModel.Questionniare, farContractViewModel.ContractGuid, CreatedOn, CreatedBy, UpdatedOn, UpdatedBy);
            }

            //// Soft Deletes the previous FAR CONTRACT and then adds new.
            _farContractService.SoftDelete(farContractViewModel.ContractGuid);


            if (farContractViewModel.SelectedValuesList != null)
            {
                foreach (var item in farContractViewModel.SelectedValuesList)
                {
                    var farContract = new FarContract();
                    farContract.ContractGuid = farContractViewModel.ContractGuid;
                    farContract.FarContractTypeClauseGuid = new Guid(item);
                    farContract.IsDeleted = IsDeleted;
                    farContract.CreatedBy = CreatedBy;
                    farContract.CreatedOn = CreatedOn;
                    farContract.UpdatedBy = UpdatedBy;
                    farContract.UpdatedOn = UpdatedOn;
                    _farContractService.Add(farContract);
                }
            }
            //// Hard deletes the soft deleted data..
            _farContractService.Delete(farContractViewModel.ContractGuid);
            return(Ok(new { status = ResponseStatus.success.ToString(), message = "Successfully Updated !!" }));
        }
 public void AddRequiredData(FarContract farContract)
 {
     _farContractRepository.AddRequiredData(farContract);
 }
 public void Add(FarContract farContract)
 {
     _farContractRepository.Add(farContract);
 }