Ejemplo n.º 1
0
        public IHttpActionResult PostSubSiteFees(SubSiteFeesDTO oDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Guid UserId;

            if (!Guid.TryParse(oDto.UserId.ToString(), out UserId))
            {
                return(StatusCode(HttpStatusCode.NotAcceptable));
            }


            Guid GRefId;

            if (!Guid.TryParse(oDto.refId.ToString(), out GRefId))
            {
                return(StatusCode(HttpStatusCode.NotAcceptable));
            }

            var result = subsitefeeService.Save(oDto);

            return(Ok(result));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// This method is used to Save the main office details
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public int Save(SubSiteFeesDTO dto)
        {
            int entityState = 0;
            int iretval     = 0;

            List <SubSiteFeeConfig> subsitefeeconfigs = new List <SubSiteFeeConfig>();

            try
            {
                if (dto != null)
                {
                    Guid newguid2 = Guid.NewGuid();

                    bool IsRefId = Guid.TryParse(dto.refId, out newguid2);
                    if (IsRefId)
                    {
                        var SubSiteFeeConfig = db.SubSiteFeeConfigs.Where(o => o.emp_CustomerInformation_ID == newguid2).ToList();
                        if (SubSiteFeeConfig.Count() > 0)
                        {
                            db.SubSiteFeeConfigs.RemoveRange(SubSiteFeeConfig);
                            db.SaveChanges();
                        }

                        var subsiteBankFeeconfig = db.SubSiteBankFeesConfigs.Where(o => o.emp_CustomerInformation_ID == newguid2).ToList();
                        if (subsiteBankFeeconfig.Count() > 0)
                        {
                            db.SubSiteBankFeesConfigs.RemoveRange(subsiteBankFeeconfig);
                            db.SaveChanges();
                        }
                    }

                    foreach (var item in dto.SubsiteFees)
                    {
                        SubSiteFeeConfig subsitefeeconfig = new SubSiteFeeConfig();

                        subsitefeeconfig.ID = Guid.NewGuid();
                        entityState         = (int)System.Data.Entity.EntityState.Added;
                        SaveBankDetail(item.SubSiteBankFees, subsitefeeconfig.ID, newguid2, item.UserId ?? Guid.Empty);
                        subsitefeeconfig.emp_CustomerInformation_ID = newguid2; // newguid;
                        subsitefeeconfig.IsAddOnFeeCharge           = item.IsAddOnFeeCharge;

                        if (subsitefeeconfig.IsAddOnFeeCharge)
                        {
                            subsitefeeconfig.IsSameforAll = item.IsSameforAll;
                        }
                        else
                        {
                            subsitefeeconfig.IsSameforAll = false;
                        }

                        subsitefeeconfig.IsSubSiteAddonFee     = item.IsSubSiteAddonFee;
                        subsitefeeconfig.ServiceorTransmission = item.ServiceorTransmission;
                        subsitefeeconfig.StatusCode            = EMPConstants.Active;
                        subsitefeeconfig.LastUpdatedBy         = item.UserId ?? Guid.Empty;
                        subsitefeeconfig.LastUpdatedDate       = System.DateTime.Now;

                        if (entityState == (int)System.Data.Entity.EntityState.Added)
                        {
                            subsitefeeconfig.CreatedBy   = item.UserId ?? Guid.Empty;
                            subsitefeeconfig.CreatedDate = System.DateTime.Now;
                            subsitefeeconfigs.Add(subsitefeeconfig);
                        }
                        else
                        {
                            // For Sub-Site Fee Changes
                            if (subsitefeeconfig.IsSameforAll)
                            {
                                var childRecord = db.emp_CustomerInformation.Where(o => o.ParentId == subsitefeeconfig.emp_CustomerInformation_ID && o.IsActivationCompleted != 1).Select(o => new { o.Id, o.IsActivationCompleted }).ToList();
                                // var IsActiveChild = childRecord.ToList().Where(o => o.IsActivationCompleted == 1).Any();
                                //if (!IsActiveChild)
                                //{
                                foreach (var ChildItem in childRecord)
                                {
                                    var subsitebankfees = db.SubSiteBankFeesConfigs.Where(o => o.emp_CustomerInformation_ID == ChildItem.Id).ToList();
                                    foreach (var subsitebankfeeItem in subsitebankfees)
                                    {
                                        var ParentSubSiteBankFees = item.SubSiteBankFees.Where(o => o.BankMaster_ID == subsitebankfeeItem.BankMaster_ID.ToString()).FirstOrDefault();
                                        if (ParentSubSiteBankFees != null)
                                        {
                                            subsitebankfeeItem.BankMaxFees     = ParentSubSiteBankFees.BankMaxFees;
                                            subsitebankfeeItem.BankMaxFees_MSO = ParentSubSiteBankFees.BankMaxFees_MSO ?? 0;

                                            db.Entry(subsitebankfeeItem).State = System.Data.Entity.EntityState.Modified;
                                            db.SaveChanges();
                                        }
                                    }
                                }
                            }

                            db.Entry(subsitefeeconfig).State = System.Data.Entity.EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                }
                if (entityState == (int)System.Data.Entity.EntityState.Added)
                {
                    db.SubSiteFeeConfigs.AddRange(subsitefeeconfigs);
                    db.SaveChanges();
                }

                db.Dispose();

                return(1);
            }
            catch (Exception ex)
            {
                EMPPortal.Core.Utilities.ExceptionLogger.LogException(ex.ToString(), "SubSiteFeeService/GetSubSiteBankFeeById", dto.UserId);
                iretval = 0;
                return(iretval);

                throw;
            }
        }