コード例 #1
0
        public async Task <ActionResultResponse> Update(string tenantId, string id, string lastUpdateUserId, string lastUpdateFullName, UnitMeta unitMeta)
        {
            if (!unitMeta.Translations.Any())
            {
                return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language.")));
            }

            var unitInfo = await _unitRepository.GetInfo(tenantId, id);

            if (unitInfo == null)
            {
                return(new ActionResultResponse(-2, _resourceService.GetString("Unit does not exists.")));
            }

            if (unitInfo.ConcurrencyStamp != unitMeta.ConcurrencyStamp)
            {
                return(new ActionResultResponse(-3, _resourceService.GetString("The Unit already updated by other people. You can not update this Unit.")));
            }

            unitInfo.IsActive           = unitMeta.IsActive;
            unitInfo.ConcurrencyStamp   = Guid.NewGuid().ToString();
            unitInfo.LastUpdateUserId   = lastUpdateUserId;
            unitInfo.LastUpdateFullName = lastUpdateFullName;
            unitInfo.LastUpdate         = DateTime.Now;

            await _unitRepository.Update(tenantId, id, unitInfo);

            foreach (var unitTranslation in unitMeta.Translations)
            {
                var unitTranslationInfo = await _unitTranslationRepository.GetInfo(unitInfo.Id, unitTranslation.LanguageId, unitInfo.TenantId);

                if (unitTranslation.Name != unitTranslationInfo.Name)
                {
                    var isExistsName = await _unitTranslationRepository.CheckExistsByName(tenantId, unitInfo.Id, unitTranslation.Name);

                    if (isExistsName)
                    {
                        return(new ActionResultResponse(-5, _resourceService.GetString("Can not insert new Unit. Please contact with administrator.")));
                    }
                }

                if (!string.IsNullOrEmpty(unitTranslation.Abbreviation) && unitTranslation.Abbreviation != unitTranslationInfo.Abbreviation)
                {
                    var isExistsAbbeviation = await _unitTranslationRepository.CheckExistsByAbbreviation(tenantId, unitInfo.Id, unitTranslation.Abbreviation);

                    if (isExistsAbbeviation)
                    {
                        return(new ActionResultResponse(-6, _resourceService.GetString("Can not insert new Unit. Please contact with administrator.")));
                    }
                }

                if (unitTranslationInfo != null)
                {
                    //unitTranslationInfo.ProductUnitId = unitTranslation.ProductUnitId;
                    //unitTranslationInfo.LanguageId = unitTranslation.LanguageId;
                    unitTranslationInfo.Name         = unitTranslation.Name;
                    unitTranslationInfo.Description  = unitTranslation.Description;
                    unitTranslationInfo.Abbreviation = unitTranslation.Abbreviation;
                    unitTranslationInfo.UnsignName   = unitTranslation.Name.Trim().StripVietnameseChars().ToUpper();

                    await _unitTranslationRepository.Update(unitInfo.Id, unitTranslation.LanguageId, unitInfo.TenantId, unitTranslationInfo);
                }
                else
                {
                    unitTranslationInfo = new UnitTranslation()
                    {
                        Abbreviation = unitTranslation.Abbreviation,
                        Description  = unitTranslation.Description,
                        LanguageId   = unitTranslation.LanguageId,
                        Name         = unitTranslation.Name,
                        TenantId     = unitInfo.TenantId,
                        UnitId       = id,
                        UnsignName   = unitTranslation.Name.Trim().StripVietnameseChars().ToUpper()
                    };

                    await _unitTranslationRepository.Insert(unitTranslationInfo);
                }
            }

            return(new ActionResultResponse(1, _resourceService.GetString("Update Unit successful.")));
        }
コード例 #2
0
 public async Task <int> Insert(UnitTranslation unitTranslation)
 {
     _unitTranslationRepository.Create(unitTranslation);
     return(await Context.SaveChangesAsync());
 }
コード例 #3
0
ファイル: SpiralCurveDialog.cs プロジェクト: EAWCS1/SUITT
        private void btnCreate_Click(object sender, System.EventArgs e)
        {
            try
            {
                // declare and create appropriate sub-class of spiral object
                SpiralCurve spiral = null;

                switch (cboType.Text.ToLower())
                {
                    case "sullivan":
                        spiral = new SullivanSpiral();
                        break;
                    case "searle":
                        spiral = new SearleSpiral();
                        break;
                }

                // parse out the chord length measure and units
                GetChordLengthParams();

                // if we have valid units in the input we need to do a conversion from
                // entered units to map units (in the data frame)
                if (m_chordLengthUnits != string.Empty)
                {
                    UnitTranslation ut = new UnitTranslation();
                    m_chordLength = ut.Convert(m_chordLengthUnits,m_MetresPerMapUnit,m_chordLengthMeasure);
                }
                else // otherwise we just do a straight text to double conversion
                {
                    m_chordLength = Convert.ToDouble(txtChordLength.Text);
                }

                // convert the input units to polar/radians
                m_tangentAngle = AnglularDefaultUnitsToRadians(txtBearing.Text);

                // convert the input number of chords to a double
                m_numChords = Convert.ToDouble(txtNumChords.Text);

                // Build the actual spiral curve measurements
                // The measurements will be stored in
                bool spiralRes = spiral.BuildCurve(m_chordLength,m_numChords,m_tangentAngle,m_turnDirec,m_spiralTrans);
                if (spiralRes == false)
                {
                    throw new Exception("Failed to calculate spiral curve");
                }

                // for each course created in the spiral curve builder class we populate the
                // traverse dialog
                for (int x = 0;x <= spiral.CourseCount -1;x++)
                {
                    m_pTraverseWindow.CourseType = esriCourseType.esriCTDirectionDistance;

                    double measure1 = spiral.course(x).Measure1;
                    double measure2 = spiral.course(x).Measure2;

                    string convMeasure1 = RadiansToAngularDefaultUnits(measure1);
                    string convMeasure2 = measure2.ToString();

                    Debug.WriteLine("course: " + x);
                    Debug.WriteLine("m1 = " + convMeasure1 + "  m2 = " + convMeasure2);

                    m_pTraverseWindow.set_MeasureText(0,convMeasure1);
                    m_pTraverseWindow.set_MeasureText(1,convMeasure2);

                    if (m_pTraverseWindow.IsAddEnabled == true)
                    {
                        m_pTraverseWindow.Add();
                    }
                    else
                    {
                        MessageBox.Show("The segment could not be added.\n" +
                            "Please ensure that all entries are valid.", "SUITT Error");
                        //this.Hide();
                        return;
                    }
                }

                // all finished. close form
                this.Close();
            }
            catch
            {

            }
        }
コード例 #4
0
 public async Task <int> Update(string unitId, string languageId, string tenantId, UnitTranslation unitTranslation)
 {
     return(await Context.SaveChangesAsync());
 }