コード例 #1
0
 /// <summary>
 /// Delete a Tariff Rate
 /// </summary>
 public void Delete(StandardRateMain standardRateMain)
 {
     if (standardRateMain == null || !ModelState.IsValid)
     {
         throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
     }
     tariffRateService.DeleteTariffRate(tariffRateService.Find(standardRateMain.StandardRtMainId));
 }
コード例 #2
0
 /// <summary>
 /// Get Hire group Detail For Tariff Rate
 /// </summary>
 /// <returns></returns>
 public HireGroupDetailResponse Get([FromUri] StandardRateMain standardRateMain)
 {
     if (!ModelState.IsValid)
     {
         throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
     }
     return(tariffRateService.GetHireGroupDetailsForTariffRate(standardRateMain.StandardRtMainId).CreateFromHireGroupDetail());
 }
コード例 #3
0
        public TariffRateContent Post(StandardRateMain standardRateMain)
        {
            if (standardRateMain == null || !ModelState.IsValid)
            {
                throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
            }
            TariffRateContent tariffRateContent = tariffRateService.SaveTariffRate(standardRateMain.CreateFrom()).CreateFrom();

            return(tariffRateContent);
        }
コード例 #4
0
        /// <summary>
        /// Standard Rate Validation
        /// </summary>
        /// <param name="standardRateMain"></param>
        /// <param name="addFlag"></param>
        private void StandardRateValidation(StandardRateMain standardRateMain, bool addFlag)
        {
            DateTime a, b, c, d;

            a = Convert.ToDateTime(standardRateMain.StartDt);
            b = Convert.ToDateTime(standardRateMain.EndDt);
            if (addFlag)
            {
                if (a.Date < DateTime.Now.Date)
                {
                    throw new Exception();
                }
                //throw new CaresBusinessException("Pricing-InvalidStartDate", null);
                if (b.Date < a.Date)
                {
                    throw new Exception();
                }
                //throw new CaresBusinessException("Pricing-InvalidEndDate", null);
                DomainModels.TariffType tariffType = tariffRateService.FindTariffTypeById(standardRateMain.TariffTypeId);
                IEnumerable <DomainModels.StandardRateMain> oStRateMain = tariffRateService.FindByTariffTypeCode(tariffType.TariffTypeCode).Select(s => s);
                foreach (var rateMain in oStRateMain)
                {
                    c = rateMain.StartDt;
                    d = rateMain.EndDt;

                    if ((a <= c) && ((d) <= (b)))
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-ExistingStandardRtOverlaps", null);
                    if ((c <= a) && ((b) <= (d)))
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-CurrentStandardRtOverlaps", null);
                    if ((c <= a) && (a <= (d)) && ((d) <= (b)))
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-StartStandardRtDurationOverlaps", null);
                    if ((a <= c) && (c <= (b)) && ((b) <= (d)))
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-EndStandardRtDurationOverlaps", null);
                }
            }
            if (standardRateMain.HireGroupDetailsInStandardRtMain != null)
            {
                foreach (var standardRate in standardRateMain.HireGroupDetailsInStandardRtMain)
                {
                    c = Convert.ToDateTime(standardRate.StartDate);
                    d = Convert.ToDateTime(standardRate.EndDt);
                    if (c.Date < DateTime.Now.Date || d.Date < DateTime.Now.Date)
                    {
                        throw new Exception();
                    }
                    // throw new CaresBusinessException("Pricing-StRateInvalidEffectiveDates", null);
                    if (d < c)
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-StRateInvalidEndDate", null);
                    if (c < a || d > b)
                    {
                        throw new Exception();
                    }
                    //throw new CaresBusinessException("Pricing-StRateInvalidRangeEffectiveDate", null);
                }
            }
        }
コード例 #5
0
ファイル: TariffRateService.cs プロジェクト: VijayMVC/Cares
        /// <summary>
        /// Standard Rate Validation
        /// </summary>
        /// <param name="standardRateMain"></param>
        /// <param name="addFlag"></param>
        private void StandardRateValidation(StandardRateMain standardRateMain, bool addFlag)
        {
            // ReSharper disable once JoinDeclarationAndInitializer
            DateTime strMainStartDate, strMainEndDate, dbStartDate, dbEndDate;

            strMainStartDate = Convert.ToDateTime(standardRateMain.StartDt);
            strMainEndDate   = Convert.ToDateTime(standardRateMain.EndDt);
            if (addFlag)
            {
                if (strMainStartDate.Date < DateTime.Now.Date)
                {
                    throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.InvalidStartDate));
                }
                if (strMainEndDate.Date < strMainStartDate.Date)
                {
                    throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.InvalidEndDate));
                }
                IEnumerable <StandardRateMain> oStRateMain = FindByTariffTypeCode(standardRateMain.TariffTypeCode).Select(s => s);
                foreach (var rateMain in oStRateMain)
                {
                    dbStartDate = rateMain.StartDt;
                    dbEndDate   = rateMain.EndDt;

                    if ((strMainStartDate <= dbStartDate) && ((dbEndDate) <= (strMainEndDate)))
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.ExistingStandardRtOverlaps));
                    }
                    if ((dbStartDate <= strMainStartDate) && ((strMainEndDate) <= (dbEndDate)))
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.CurrentStandardRtOverlaps));
                    }
                    if ((dbStartDate <= strMainStartDate) && (strMainStartDate <= (dbEndDate)) && ((dbEndDate) <= (strMainEndDate)))
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.StartStandardRtDurationOverlaps));
                    }
                    if ((strMainStartDate <= dbStartDate) && (dbStartDate <= (strMainEndDate)) && ((strMainEndDate) <= (dbEndDate)))
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.EndStandardRtDurationOverlaps));
                    }
                }
            }
            if (standardRateMain.StandardRates != null)
            {
                foreach (var standardRate in standardRateMain.StandardRates)
                {
                    dbStartDate = Convert.ToDateTime(standardRate.StandardRtStartDt);
                    dbEndDate   = Convert.ToDateTime(standardRate.StandardRtEndDt);
                    if (dbStartDate.Date < DateTime.Now.Date || dbEndDate.Date < DateTime.Now.Date)
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.StRateInvalidEffectiveDates));
                    }
                    if (dbEndDate < dbStartDate)
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.StRateInvalidEndDate));
                    }
                    if (dbStartDate < strMainStartDate || dbEndDate > strMainEndDate)
                    {
                        throw new CaresException(string.Format(CultureInfo.InvariantCulture, Resources.Tariff.TariffRate.StRateInvalidRangeEffectiveDate));
                    }
                }
            }
        }
コード例 #6
0
ファイル: TariffRateService.cs プロジェクト: VijayMVC/Cares
 /// <summary>
 /// Delete Tariff Rate
 /// </summary>
 /// <param name="standardRateMain"></param>
 public void DeleteTariffRate(StandardRateMain standardRateMain)
 {
     standardRateMainRepository.Delete(standardRateMain);
     standardRateMainRepository.SaveChanges();
 }
コード例 #7
0
ファイル: TariffRateService.cs プロジェクト: VijayMVC/Cares
        /// <summary>
        /// Add Tariff Rate
        /// </summary>
        /// <param name="standardRateMain"></param>
        /// <returns></returns>
        public TariffRateContent SaveTariffRate(StandardRateMain standardRateMain)
        {
            TariffType tariffType = tariffTypeRepository.Find(long.Parse(standardRateMain.TariffTypeCode));

            standardRateMain.TariffTypeCode = tariffType.TariffTypeCode;

            #region Add
            if (standardRateMain.StandardRtMainId == 0)
            {
                StandardRateValidation(standardRateMain, true);
                standardRateMain.UserDomainKey    = standardRateMainRepository.UserDomainKey;
                standardRateMain.IsActive         = true;
                standardRateMain.IsDeleted        = false;
                standardRateMain.IsPrivate        = false;
                standardRateMain.IsReadOnly       = false;
                standardRateMain.RecCreatedDt     = DateTime.Now;
                standardRateMain.RecLastUpdatedDt = DateTime.Now;
                standardRateMain.RecCreatedBy     = standardRateMainRepository.LoggedInUserIdentity;
                standardRateMain.RecLastUpdatedBy = standardRateMainRepository.LoggedInUserIdentity;
                standardRateMain.RowVersion       = 0;
                //set child (Standard Rate in Standard Rate Main) properties
                #region Standard Rate in Standard Rate Main

                if (standardRateMain.StandardRates != null)
                {
                    // set properties
                    foreach (StandardRate item in standardRateMain.StandardRates)
                    {
                        item.IsActive         = true;
                        item.IsDeleted        = false;
                        item.IsPrivate        = false;
                        item.IsReadOnly       = false;
                        item.RecCreatedDt     = DateTime.Now;
                        item.RecLastUpdatedDt = DateTime.Now;
                        item.RecCreatedBy     = standardRateMainRepository.LoggedInUserIdentity;
                        item.RecLastUpdatedBy = standardRateMainRepository.LoggedInUserIdentity;
                        item.UserDomainKey    = standardRateMainRepository.UserDomainKey;
                    }
                }

                #endregion
                standardRateMainRepository.Add(standardRateMain);
                standardRateMainRepository.SaveChanges();
            }
            #endregion

            #region Edit
            else
            {
                StandardRateValidation(standardRateMain, false);
                if (standardRateMain.StandardRates != null)
                {
                    foreach (StandardRate standardRate in standardRateMain.StandardRates)
                    {
                        standardRate.IsActive         = true;
                        standardRate.IsDeleted        = false;
                        standardRate.IsPrivate        = false;
                        standardRate.IsReadOnly       = false;
                        standardRate.RecCreatedDt     = DateTime.Now;
                        standardRate.RecLastUpdatedDt = DateTime.Now;
                        standardRate.RecCreatedBy     = standardRateMainRepository.LoggedInUserIdentity;
                        standardRate.RecLastUpdatedBy = standardRateMainRepository.LoggedInUserIdentity;
                        standardRate.UserDomainKey    = standardRateMainRepository.UserDomainKey;
                        standardRate.StandardRtMainId = standardRateMain.StandardRtMainId;
                        if (standardRate.StandardRtId > 0)
                        {
                            long oldRecordId = standardRate.StandardRtId;
                            standardRate.StandardRtId   = 0;
                            standardRate.RevisionNumber = standardRate.RevisionNumber + 1;
                            standardRateRepository.Add(standardRate);
                            standardRateRepository.SaveChanges();
                            StandardRate oldStandardRate = standardRateRepository.Find(oldRecordId);
                            oldStandardRate.ChildStandardRtId = standardRate.StandardRtId;
                            standardRateRepository.SaveChanges();
                        }
                        else
                        {
                            standardRateRepository.Add(standardRate);
                            standardRateRepository.SaveChanges();
                        }
                    }
                }
            }
            #endregion

            return(new TariffRateContent
            {
                StandardRtMainId = standardRateMain.StandardRtMainId,
                StandardRtMainCode = standardRateMain.StandardRtMainCode,
                StandardRtMainName = standardRateMain.StandardRtMainName,
                StandardRtMainDescription = standardRateMain.StandardRtMainDescription,
                StartDt = standardRateMain.StartDt,
                EndDt = standardRateMain.EndDt,
                TariffTypeId = tariffType.TariffTypeId,
                TariffTypeCodeName = tariffType.TariffTypeCode + " - " + tariffType.TariffTypeName,
                OperationId = tariffType.OperationId,
                OperationCodeName =
                    tariffType.Operation.OperationCode + " - " + tariffType.Operation.OperationName,
            });
        }