Ejemplo n.º 1
0
        public void ChangeWorkingOrganisation(string organisationId, string userId)
        {
            using var context = Context();
            if (!context.OrganisationUser.Any(t => t.OrganisationId == organisationId && t.UserId == userId))
            {
                throw new Exception("Access deny");
            }
            var workingOrganisation = context.WorkingOrganisation.FirstOrDefault(u => u.UserId == userId);

            if (workingOrganisation == null)
            {
                workingOrganisation = new Dal.Models.WorkingOrganisation
                {
                    UserId = userId
                };
                context.WorkingOrganisation.Add(workingOrganisation);
            }
            workingOrganisation.OrganisationId = organisationId;
            context.SaveChanges();
        }
Ejemplo n.º 2
0
        public void Create(Organsation organsation, string userId)
        {
            using var context = Context();
            if (!organsation.DeclareTax)
            {
                organsation.OrganisationBaseCurrency.TaxCurrencyId = organsation.OrganisationBaseCurrency.BaseCurrencyId;
            }
            if (!string.IsNullOrEmpty(organsation.LogoUrl))
            {
                organsation.LogoUrl = UploadFile(organsation.LogoUrl);
            }
            var newOrganisation = new Dal.Models.Organisation
            {
                BussinessRegistrationNumber = organsation.DeclareTax?organsation.BussinessRegistrationNumber:"",
                DeclareTax               = organsation.DeclareTax,
                Description              = organsation.Description,
                DisplayName              = organsation.DisplayName,
                LegalLocalName           = organsation.DeclareTax?organsation.LegalLocalName:"",
                LegalName                = organsation.DeclareTax?organsation.LegalName:"",
                LineBusiness             = organsation.LineBusiness,
                OrganisationTypeId       = organsation.OrganisationTypeId,
                TaxNumber                = organsation.DeclareTax?organsation.TaxNumber:"",
                OrganisationBaseCurrency = new Dal.Models.OrganisationBaseCurrency
                {
                    BaseCurrencyId = organsation.OrganisationBaseCurrency.BaseCurrencyId,
                    TaxCurrencyId  = organsation.OrganisationBaseCurrency.TaxCurrencyId
                },
                Contact = new Dal.Models.Contact
                {
                    Address     = organsation.Contact.Address,
                    ContactName = organsation.Contact.ContactName,
                    Email       = organsation.Contact.Email,
                    PhoneNumber = organsation.Contact.PhoneNumber,
                    Website     = organsation.Contact.Website,
                    Id          = Guid.NewGuid().ToString()
                },
                LogoUrl = organsation.LogoUrl,
                Id      = Guid.NewGuid().ToString()
            };
            var workingOrganisation = context.WorkingOrganisation.FirstOrDefault(u => u.UserId == UserId);

            if (workingOrganisation == null)
            {
                workingOrganisation = new Dal.Models.WorkingOrganisation
                {
                    UserId       = userId,
                    Organisation = newOrganisation
                };
                context.WorkingOrganisation.Add(workingOrganisation);
            }
            else
            {
                workingOrganisation.Organisation = newOrganisation;
            }
            newOrganisation.OrganisationUser.Add(new Dal.Models.OrganisationUser
            {
                UserId = userId
            });

            if (organsation.OrganisationBaseCurrency.BaseCurrencyId != organsation.OrganisationBaseCurrency.TaxCurrencyId)
            {
                var baseCurrency = new Dal.Models.OrganisationCurrency
                {
                    CurrencyId = organsation.OrganisationBaseCurrency.BaseCurrencyId
                };
                var taxCurrency = new Dal.Models.OrganisationCurrency
                {
                    CurrencyId = organsation.OrganisationBaseCurrency.TaxCurrencyId
                };
                newOrganisation.OrganisationCurrency.Add(baseCurrency);
                newOrganisation.OrganisationCurrency.Add(taxCurrency);
                context.ExchangeRate.Add(new Dal.Models.ExchangeRate
                {
                    FromOrganisationCurrency = baseCurrency,
                    ToOrganisationCurrency   = taxCurrency,
                    IsAuto        = false,
                    ExchangeRate1 = organsation.OrganisationBaseCurrency.TaxExchangeRate
                });
                context.ExchangeRate.Add(new Dal.Models.ExchangeRate
                {
                    FromOrganisationCurrency = taxCurrency,
                    ToOrganisationCurrency   = baseCurrency,
                    IsAuto        = false,
                    ExchangeRate1 = 1 / organsation.OrganisationBaseCurrency.TaxExchangeRate
                });
            }
            else
            {
                newOrganisation.OrganisationCurrency.Add(new Dal.Models.OrganisationCurrency
                {
                    CurrencyId = organsation.OrganisationBaseCurrency.BaseCurrencyId,
                });
            }
            context.Organisation.Add(newOrganisation);
            context.SaveChanges();
            organsation.Id = newOrganisation.Id;
        }