public IHttpActionResult Put(AssessorPersonalDetail assessorPersonalDetail, int assessorId = 0)
        {
            OperationStatus operationStatus = new OperationStatus()
            {
                ServiceMethod = "PUT", ServiceName = "UpdateAssessorPersonalDetail", RequestProcessed = false, RequestSuccessful = false
            };

            if (assessorPersonalDetail != null)
            {
                if (assessorId > 0)
                {
                    //Comment : Here set value of assessorId into DTO object and then call Update method
                    assessorPersonalDetail.AssessorId = assessorId;

                    operationStatus = GetAssessorPersonalDetailDbService().UpdatePersonalDetail(assessorPersonalDetail);
                }
                else
                {
                    operationStatus.Messages.Add(new Message()
                    {
                        DTOName = "AssessorPersonalDetail", DTOProperty = "", MessageType = MessageType.SystemError, Text = "Please  use POST method to create object."
                    });
                }
            }

            return(Ok(operationStatus));
        }
        private Int64 SubmitAssessorPerosnalDetails(AssessorPersonalDetail data)
        {
            var parameterList = new List <System.Data.IDbDataParameter>
            {
                new SqlParameter()
                {
                    ParameterName = "@AssessorId", Value = data.AssessorId, SqlDbType = SqlDbType.BigInt
                },
                new SqlParameter()
                {
                    ParameterName = "@Name", Value = data.Name, SqlDbType = SqlDbType.VarChar, Size = 200
                },
                new SqlParameter()
                {
                    ParameterName = "@Gender", Value = data.Gender, SqlDbType = SqlDbType.Char, Size = 1
                },
                new SqlParameter()
                {
                    ParameterName = "@DOB", Value = data.DOB, SqlDbType = SqlDbType.DateTime, IsNullable = true
                },
                new SqlParameter()
                {
                    ParameterName = "@MaritalStatus", Value = data.MaritalStatus, SqlDbType = SqlDbType.Bit
                },
                new SqlParameter()
                {
                    ParameterName = "@FatherName", Value = data.FatherName, SqlDbType = SqlDbType.VarChar, Size = 50
                },
                new SqlParameter()
                {
                    ParameterName = "@MotherName", Value = data.MotherName, SqlDbType = SqlDbType.VarChar, Size = 50
                },

                new SqlParameter()
                {
                    ParameterName = "AssessorId", SqlDbType = SqlDbType.BigInt, Direction = ParameterDirection.ReturnValue
                }
            };

            //Comment : Here get DbConnector object
            var rowEffeted = GetDbConnector().ExecuteNonQuery("MaintainAssessorPersonalDetails", QueryCommandType.StoredProcedure, parameterList);

            //if successfully executed
            if (rowEffeted > 0)
            {
                Int64 assessorId = Convert.ToInt32(parameterList[parameterList.Count() - 1].Value);
                return(assessorId);
            }
            else
            {
                //LoggingService.Instance.Fatal(string.Format("Unable to add user :{0}{1}", Environment.NewLine, object));
            }

            return(0);
        }
        OperationStatus IAssessorPersonalDetailDbService.AddPersonalDetail(AssessorPersonalDetail data)
        {
            OperationStatus operationStatus = new OperationStatus()
            {
                RequestProcessed = false, RequestSuccessful = false
            };

            #region Comment : Here Add/Create details

            try
            {
                #region Supply data object for DB insertion

                //Comment : Here record id which is being effected at db level
                Int64 effectedRecordId = SubmitAssessorPerosnalDetails(data);

                //if successfully executed
                if (effectedRecordId > 0)
                {
                    //Comment : Here if data has been "successfully submitted" then capture those details
                    operationStatus.RequestProcessed  = true;
                    operationStatus.RequestSuccessful = true;
                    operationStatus.ServiceName       = "AddAssessorPersonalDetail";
                    operationStatus.ServiceMethod     = "POST";
                    operationStatus.AffectedIds.Add(new AffectedId()
                    {
                        DTOName = "AssessorPersonalDetail", DTOProperty = "AssessorId", IdValue = effectedRecordId.ToString(), OperationType = OperationType.POST
                    });
                }
                else
                {
                    //LoggingService.Instance.Fatal(string.Format("Unable to add user :{0}{1}", Environment.NewLine, object));
                }

                #endregion
            }
            catch (Exception ex)
            {
                operationStatus.RequestProcessed  = true;
                operationStatus.RequestSuccessful = false;
                operationStatus.Messages.Add(new Message()
                {
                    DTOName = "AssessorPersonalDetail", DTOProperty = "", MessageType = MessageType.SystemError, Text = ex.Message
                });
            }

            #endregion

            return(operationStatus);
        }
        public IHttpActionResult Post(AssessorPersonalDetail assessor)
        {
            OperationStatus operationStatus = new OperationStatus()
            {
                ServiceMethod = "POST", ServiceName = "AddAssessorPersonalDetail", RequestProcessed = false, RequestSuccessful = false
            };

            if (assessor != null)
            {
                if (assessor.AssessorId > 0)
                {
                    operationStatus = GetAssessorPersonalDetailDbService().AddPersonalDetail(assessor);
                }
                //else
                //{
                //    operationStatus.Messages.Add(new Message() { DTOName = "AssessorPersonalDetail", DTOProperty = "", MessageType = MessageType.SystemError, Text = "Please  use PUT method to update state of object." });
                //}
            }

            return(Ok(operationStatus));
        }