public IEnumerable <APDIRCircularBefore> GetAPDIRCircularBefore(APDIRCircularBefore aPDIRCircularBefore)
        {
            using (DemsifyEntities dataContext = new DemsifyEntities())
            {
                ObjectParameter totalPageCount = new ObjectParameter("TotalPageCount", typeof(int));
                ObjectParameter totalRecord    = new ObjectParameter("TotalRecord", typeof(int));

                var aPDIRCircularBefores = dataContext.APDIRCircularBeforeGet(aPDIRCircularBefore.APDIRCircularBeforeId, aPDIRCircularBefore.APDIRCircularParentId, Utility.TrimString(aPDIRCircularBefore.SearchText), aPDIRCircularBefore.IsActive, aPDIRCircularBefore.PageNumber, aPDIRCircularBefore.PageSize, aPDIRCircularBefore.IsPagingRequired, Utility.TrimString(aPDIRCircularBefore.OrderBy), Utility.TrimString(aPDIRCircularBefore.OrderByDirection), totalPageCount, totalRecord).ToList();

                var aPDIRCircularBeforeList = new List <APDIRCircularBefore>();
                foreach (var aPDIRCircularBeforeDetail in aPDIRCircularBefores)
                {
                    aPDIRCircularBeforeList.Add(new APDIRCircularBefore()
                    {
                        APDIRCircularBeforeId      = aPDIRCircularBeforeDetail.APDIRCircularBeforeId,
                        APDIRCircularParentId      = aPDIRCircularBeforeDetail.APDIRCircularParentId,
                        APDIRCircularId            = aPDIRCircularBeforeDetail.APDIRCircularId,
                        APDIRCircularNo            = aPDIRCircularBeforeDetail.APDIRCircularNo,
                        APDIRCircularName          = aPDIRCircularBeforeDetail.APDIRCircularName,
                        APDIRCircularDate          = aPDIRCircularBeforeDetail.APDIRCircularDate,
                        APDIRCircularEffectiveDate = aPDIRCircularBeforeDetail.APDIRCircularEffectiveDate,
                        Year             = aPDIRCircularBeforeDetail.Year,
                        APDIRCircularPDF = aPDIRCircularBeforeDetail.PDF,
                        IsActive         = aPDIRCircularBeforeDetail.IsActive,
                        TotalPageCount   = Convert.ToInt32(totalPageCount.Value),
                        TotalRecord      = Convert.ToInt32(totalRecord.Value)
                    });
                }
                return(aPDIRCircularBeforeList);
            }
        }
        public int DeleteAPDIRCircularBefore(APDIRCircularBefore aPDIRCircularBefore)
        {
            using (DemsifyEntities dataContext = new DemsifyEntities())
            {
                ObjectParameter result = new ObjectParameter("Result", typeof(int));

                dataContext.APDIRCircularBeforeDelete(aPDIRCircularBefore.APDIRCircularBeforeId, aPDIRCircularBefore.ModifiedBy, result);

                return(Convert.ToInt32(result.Value));
            }
        }
        public int AddAPDIRCircularBefore(APDIRCircularBefore aPDIRCircularBefore)
        {
            using (DemsifyEntities dataContext = new DemsifyEntities())
            {
                ObjectParameter result = new ObjectParameter("Result", typeof(int));

                dataContext.APDIRCircularBeforeAdd(aPDIRCircularBefore.APDIRCircularParentId, aPDIRCircularBefore.APDIRCircularId, aPDIRCircularBefore.CreatedBy, result);

                return(Convert.ToInt32(result.Value));
            }
        }
        public IHttpActionResult DeleteAPDIRCircularBefore(DeleteAPDIRCircularBeforeRequest deleteAPDIRCircularBeforeRequest)
        {
            var responses = new Responses();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (Utility.UserId < 0)
                {
                    return(BadRequest(Utility.INVALID_USER));
                }

                var aPDIRCircularBefore = new APDIRCircularBefore()
                {
                    APDIRCircularBeforeId = deleteAPDIRCircularBeforeRequest.APDIRCircularBeforeId,
                    ModifiedBy            = Utility.UserId
                };

                int result = iAPDIRCircularBefore.DeleteAPDIRCircularBefore(aPDIRCircularBefore);
                switch (result)
                {
                case 1:
                    responses.Status      = Utility.SUCCESS_STATUS_RESPONSE;
                    responses.Description = "Before AP DIR Circular deleted successfully.";
                    break;

                case -2:
                    responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                    responses.Description = "Before AP DIR Circular doesn't exist.";
                    break;

                default:
                    responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                    responses.Description = "Error while deleting Before AP DIR Circular.";
                    break;
                }
            }
            catch (Exception ex)
            {
                responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                responses.Description = "Error while deleting Before AP DIR Circular.";

                Utility.WriteLog("DeleteAPDIRCircularBefore", deleteAPDIRCircularBeforeRequest, "Error while deleting Before AP DIR Circular. (APDIRCircularBeforeAdminController)", ex.ToString());
            }
            return(Ok(responses));
        }
        public IHttpActionResult AddAPDIRCircularBefore(AddAPDIRCircularBeforeRequest addAPDIRCircularBeforeRequest)
        {
            var responses = new Responses();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var aPDIRCircularBefore = new APDIRCircularBefore()
                {
                    APDIRCircularParentId = addAPDIRCircularBeforeRequest.APDIRCircularParentId,
                    APDIRCircularId       = addAPDIRCircularBeforeRequest.APDIRCircularId
                };
                int result = iAPDIRCircularBefore.AddAPDIRCircularBefore(aPDIRCircularBefore);
                if (result > 0)
                {
                    responses.Status      = Utility.SUCCESS_STATUS_RESPONSE;
                    responses.Description = "Before AP DIR Circular added successfully.";
                }
                else if (result == -3)
                {
                    responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                    responses.Description = "Before AP DIR Circular alread exists in After AP DIR Circular.";
                }
                else if (result == -2)
                {
                    responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                    responses.Description = "Before AP DIR Circular alread exists.";
                }
                else
                {
                    responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                    responses.Description = "Error while adding Before AP DIR Circular.";
                }
            }
            catch (Exception ex)
            {
                responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                responses.Description = "Error while adding Before AP DIR Circular.";

                Utility.WriteLog("AddAPDIRCircularBefore", addAPDIRCircularBeforeRequest, "Error while adding Before AP DIR Circular. (APDIRCircularBeforeAdminController)", ex.ToString());
            }
            return(Ok(responses));
        }
        public IHttpActionResult GetAPDIRCircularBefore([FromUri] GetAPDIRCircularBeforeRequest getAPDIRCircularBeforeRequest)
        {
            var responses = new Responses();

            try
            {
                if (Utility.UserId < 0)
                {
                    return(BadRequest(Utility.INVALID_USER));
                }

                if (getAPDIRCircularBeforeRequest == null)
                {
                    getAPDIRCircularBeforeRequest = new GetAPDIRCircularBeforeRequest();
                }

                if (getAPDIRCircularBeforeRequest.PageSize == null)
                {
                    getAPDIRCircularBeforeRequest.PageSize = Convert.ToInt32(ConfigurationManager.AppSettings["PageSize"]);
                }

                var aPDIRCircularBefore = new APDIRCircularBefore()
                {
                    APDIRCircularBeforeId = getAPDIRCircularBeforeRequest.APDIRCircularBeforeId,
                    APDIRCircularParentId = getAPDIRCircularBeforeRequest.APDIRCircularParentId,
                    SearchText            = getAPDIRCircularBeforeRequest.SearchText,
                    IsActive         = getAPDIRCircularBeforeRequest.IsActive,
                    PageNumber       = getAPDIRCircularBeforeRequest.PageNumber,
                    PageSize         = Convert.ToInt32(getAPDIRCircularBeforeRequest.PageSize),
                    IsPagingRequired = (getAPDIRCircularBeforeRequest.PageNumber != null) ? true : false,
                    OrderBy          = getAPDIRCircularBeforeRequest.OrderBy,
                    OrderByDirection = getAPDIRCircularBeforeRequest.OrderByDirection
                };
                var aPDIRCircularBefores = iAPDIRCircularBefore.GetAPDIRCircularBefore(aPDIRCircularBefore);

                var aPDIRCircularBeforeList = new List <GetAPDIRCircularBeforeResponse>();
                foreach (var aPDIRCircularBeforeDetail in aPDIRCircularBefores)
                {
                    aPDIRCircularBeforeList.Add(new GetAPDIRCircularBeforeResponse()
                    {
                        APDIRCircularBeforeId      = Convert.ToInt32(aPDIRCircularBeforeDetail.APDIRCircularBeforeId),
                        APDIRCircularParentId      = aPDIRCircularBeforeDetail.APDIRCircularParentId,
                        APDIRCircularId            = aPDIRCircularBeforeDetail.APDIRCircularId,
                        APDIRCircularNo            = aPDIRCircularBeforeDetail.APDIRCircularNo,
                        APDIRCircularName          = aPDIRCircularBeforeDetail.APDIRCircularName,
                        APDIRCircularDate          = aPDIRCircularBeforeDetail.APDIRCircularDate,
                        APDIRCircularEffectiveDate = aPDIRCircularBeforeDetail.APDIRCircularEffectiveDate,
                        Year = aPDIRCircularBeforeDetail.Year,
                        APDIRCircularYearName = Utility.GetAPDIRCircularYear(Convert.ToInt32(aPDIRCircularBeforeDetail.Year)).First().APDIRCircularYearName,
                        APDIRCircularPDF      = aPDIRCircularBeforeDetail.APDIRCircularPDF,
                        IsActive       = Convert.ToBoolean(aPDIRCircularBeforeDetail.IsActive),
                        CreatedBy      = aPDIRCircularBeforeDetail.CreatedBy,
                        TotalPageCount = aPDIRCircularBeforeDetail.TotalPageCount,
                        TotalRecord    = aPDIRCircularBeforeDetail.TotalRecord
                    });
                }

                responses.Status      = Utility.SUCCESS_STATUS_RESPONSE;
                responses.Description = "Before AP DIR Circular retrieved successfully";
                responses.Response    = aPDIRCircularBeforeList;
            }
            catch (Exception ex)
            {
                responses.Status      = Utility.ERROR_STATUS_RESPONSE;
                responses.Description = "Error while retrieving Before AP DIR Circular.";

                Utility.WriteLog("GetAPDIRCircularBefore", getAPDIRCircularBeforeRequest, "Error while retrieving Before AP DIR Circular. (APDIRCircularBeforeAdminController)", ex.ToString());
            }
            return(Ok(responses));
        }