예제 #1
0
        public void GetPersonAndDormIdByEmail(string email, out int personId, out int dormId)
        {
            int _personId = Mails.GetAll().Where(x => x.email == email).Select(x => x.person_id).SingleOrDefault();

            personId = _personId;
            dormId   = Agreements.GetAll().Where(x => (x.person_id == _personId)).Select(x => x.dorm_id).SingleOrDefault();
        }
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities dbContext)
        {
            foreach (var x in Agreements.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in FocusAreas.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GrantAllocations.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PersonStewardRegions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectRegions.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectRegionUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
예제 #3
0
        public bool PersonExists(RegistrationData registrationData)
        {
            int roomTypeId, dormId;

            roomTypeId = RoomTypes.GetRoomTypeId(registrationData.RoomType);
            dormId     = Dormitories.GetDormIdByName(registrationData.DormitoryName);
            int count = Persons.GetAll().Join(
                Agreements.GetAll(),
                p => p.id_person,
                a => a.person_id,
                (p, a) => new KeyValuePair <Person, Agreement>(p, a)).Where(
                x => (x.Key.surname == registrationData.Surname) &&
                (x.Key.name == registrationData.Name) &&
                (x.Key.is_living == true) &&
                (x.Value.room_id == roomTypeId) &&
                (x.Value.room_number == registrationData.RoomNumber) &&
                (x.Value.dorm_id == dormId)).Select(res => res.Key.id_person).ToList().Count();

            if (count == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #4
0
        public void Agreements_can_get_data()
        {
            SenderMock sender     = Arrange_sender();
            Agreements agreements = new Agreements("", "", sender);

            Assert.IsTrue(agreements.Any());
        }
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (Agreements.Any())
            {
                dependentObjects.Add(typeof(Agreement).Name);
            }

            if (FocusAreas.Any())
            {
                dependentObjects.Add(typeof(FocusArea).Name);
            }

            if (GrantAllocations.Any())
            {
                dependentObjects.Add(typeof(GrantAllocation).Name);
            }

            if (PersonStewardRegions.Any())
            {
                dependentObjects.Add(typeof(PersonStewardRegion).Name);
            }

            if (ProjectRegions.Any())
            {
                dependentObjects.Add(typeof(ProjectRegion).Name);
            }

            if (ProjectRegionUpdates.Any())
            {
                dependentObjects.Add(typeof(ProjectRegionUpdate).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
예제 #6
0
파일: Agreements.cs 프로젝트: lsyuan/ecms
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public void Add(Agreements model)
 {
     using (DBHelper db = DBHelper.Create())
     {
         db.Insert <Agreements>(model);
     }
 }
예제 #7
0
 public Task <Agreements> UpdateCodeOfConduct(UpdateCodeOfConduct data)
 {
     return(Task.Run(() =>
     {
         var agreements = gameData.GetAllAgreements();
         var coc = agreements.FirstOrDefault(x => x.Type.ToLower() == "coc");
         if (coc != null)
         {
             if (coc.Message != data.Message || coc.Title != data.Title || coc.VisibleInClient != data.VisibleInClient)
             {
                 coc.Message = data.Message;
                 coc.Title = data.Title;
                 coc.Revision = coc.Revision + 1;
                 coc.LastModified = DateTime.UtcNow;
                 coc.VisibleInClient = data.VisibleInClient;
             }
         }
         else
         {
             coc = new Agreements
             {
                 Id = Guid.NewGuid(),
                 Type = "coc",
                 Message = data.Message,
                 Title = data.Title,
                 Revision = 1,
                 ValidFrom = DateTime.UtcNow,
                 LastModified = DateTime.UtcNow,
                 VisibleInClient = data.VisibleInClient
             };
             gameData.Add(coc);
         }
         return coc;
     }));
 }
예제 #8
0
 /// <summary>
 /// Dependent type names of this entity
 /// </summary>
 public void DeleteChildren(DatabaseEntities dbContext)
 {
     foreach (var x in Agreements.ToList())
     {
         x.DeleteFull(dbContext);
     }
 }
예제 #9
0
파일: Agreements.cs 프로젝트: lsyuan/ecms
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Agreements model)
 {
     using (DBHelper db = DBHelper.Create())
     {
         db.Update <Agreements>(model);
         return(true);
     }
 }
예제 #10
0
파일: Agreements.cs 프로젝트: lsyuan/ecms
 /// <summary>
 /// 是否存在该记录
 /// </summary>
 public bool Exists(string ID)
 {
     using (DBHelper db = DBHelper.Create())
     {
         Agreements agreements = db.GetById <Agreements>(ID);
         return(agreements.ID != string.Empty);
     }
 }
예제 #11
0
 public IEnumerable <Person> GetPeopleLivingInRoom(int dormId, int room)
 {
     return(Persons.GetAll().Join(Agreements.GetAll(),
                                  person => person.id_person,
                                  agreement => agreement.person_id,
                                  (person, agreement) => new KeyValuePair <Person, Agreement>(person, agreement)
                                  ).Where(res => res.Key.is_living == true && (res.Value.room_number == room) && (res.Value.dorm_id == dormId)
                                          ).Select(res => res.Key).ToList());
 }
예제 #12
0
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (Agreements.Any())
            {
                dependentObjects.Add(typeof(Agreement).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
예제 #13
0
        public Agreement CreateAgreement(Dictionary <string, int> values)
        {
            var a = new Agreement(values, 0)
            {
                Id = Agreements.Count + 1
            };

            Agreements.Add(a);
            return(a);
        }
        /// <summary>
        /// Active Dependent type names of this object
        /// </summary>
        public List <string> DependentObjectNames()
        {
            var dependentObjects = new List <string>();

            if (Agreements.Any())
            {
                dependentObjects.Add(typeof(Agreement).Name);
            }

            if (GisUploadSourceOrganizationsWhereYouAreTheDefaultLeadImplementerOrganization.Any())
            {
                dependentObjects.Add(typeof(GisUploadSourceOrganization).Name);
            }

            if (Grants.Any())
            {
                dependentObjects.Add(typeof(Grant).Name);
            }

            if (GrantAllocations.Any())
            {
                dependentObjects.Add(typeof(GrantAllocation).Name);
            }

            if (OrganizationBoundaryStagings.Any())
            {
                dependentObjects.Add(typeof(OrganizationBoundaryStaging).Name);
            }

            if (People.Any())
            {
                dependentObjects.Add(typeof(Person).Name);
            }

            if (PersonStewardOrganizations.Any())
            {
                dependentObjects.Add(typeof(PersonStewardOrganization).Name);
            }

            if (Programs.Any())
            {
                dependentObjects.Add(typeof(Program).Name);
            }

            if (ProjectOrganizations.Any())
            {
                dependentObjects.Add(typeof(ProjectOrganization).Name);
            }

            if (ProjectOrganizationUpdates.Any())
            {
                dependentObjects.Add(typeof(ProjectOrganizationUpdate).Name);
            }
            return(dependentObjects.Distinct().ToList());
        }
예제 #15
0
        public ChangeAgreementEvent CreateChangeAgreementEvent(int agrId, Dictionary <string, int> changes, int valeur)
        {
            if (!Agreements.Any(x => x.Id.Equals(agrId)))
            {
                return(null);
            }
            var ce = new ChangeAgreementEvent(agrId, changes, valeur);

            AgreementEvents.Add(ce);
            return(ce);
        }
예제 #16
0
        public AccountData GetSuitableTariff(int person_id, int dormId)
        {
            try
            {
                bool    is_student, on_budget;
                bool?   on_budgetNull;
                int     roomId;
                decimal amount, price;

                is_student = Persons.GetAll()
                             .Where(per => per.id_person == person_id)
                             .Select(per => per.is_student)
                             .ToList().Last();

                on_budgetNull = Persons.GetAll()
                                .Where(per => per.id_person == person_id)
                                .Select(per => per.on_budget)
                                .ToList()
                                .Last();

                on_budget = on_budgetNull.HasValue ? on_budgetNull.Value : false;

                roomId = Agreements.GetAll()
                         .Where(
                    agr => (agr.person_id == person_id) && (agr.dorm_id == dormId) && (agr.is_active == true))
                         .Select(agr => agr.room_id)
                         .ToList()
                         .Last();

                price = Prices.GetAll()
                        .Where(
                    p => (p.is_student == is_student &&
                          p.on_budget == on_budget && p.is_active == true &&
                          p.dorm_id == dormId && p.room_id == roomId)).
                        Select(p => p.price)
                        .ToList()
                        .Last();

                amount = Accounts.GetAll()
                         .Where(account => account.id_person == person_id)
                         .Select(account => account.sum)
                         .ToList()
                         .Last();

                return(new AccountData
                {
                    IsStudent = is_student,
                    IsBudget = on_budget,
                    AccountAmount = amount,
                    PricePerMonth = price
                });
            }
            catch (Exception ex) { Debug.WriteLine(ex.ToString()); return(new AccountData()); }
        }
        /// <summary>
        /// Dependent type names of this entity
        /// </summary>
        public void DeleteChildren(DatabaseEntities dbContext)
        {
            foreach (var x in Agreements.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GisUploadSourceOrganizationsWhereYouAreTheDefaultLeadImplementerOrganization.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in Grants.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in GrantAllocations.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in OrganizationBoundaryStagings.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in People.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in PersonStewardOrganizations.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in Programs.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectOrganizations.ToList())
            {
                x.DeleteFull(dbContext);
            }

            foreach (var x in ProjectOrganizationUpdates.ToList())
            {
                x.DeleteFull(dbContext);
            }
        }
예제 #18
0
        public void Agreements_can_get_data_from_of()
        {
            ofplug.of.Sender sender     = new ofplug.of.Sender();
            Agreements       agreements = new Agreements("http://of.devflowtwo.com/kirkenskorshaer/api/v2/", "", sender);

            int id_index = 0;

            foreach (int id in agreements)
            {
                id_index++;
                Console.Out.WriteLine(id_index + ": " + id.ToString());
            }
        }
예제 #19
0
        public void MovePersonOut(PersonData person, string admin_name, int dorm_id)
        {
            Persons.GetAll().Where(p => p.id_person == GetPersonId(person)).ToList().ForEach(x => { x.is_living = false; });
            Agreements.GetAll().Where(a => a.person_id == GetPersonId(person)).ToList().ForEach(x => { x.is_active = false; });

            History.Add(new History
            {
                admin_name  = admin_name,
                dorm_id     = dorm_id,
                description = person.SurName + " " + person.Name + " " + "выселен(-а) из " + person.Room,
                moveOutFlag = true
            });
        }
예제 #20
0
 public string GetRoomType(int person_id)
 {
     try
     {
         return(RoomTypes.GetAll().Join(
                    Agreements.GetAll(),
                    r => r.id_type,
                    a => a.room_id,
                    (r, a) => new KeyValuePair <RoomType, Agreement>(r, a))
                .Where(res => res.Value.person_id == person_id)
                .Select(res => res.Key.name).ToList().Last());
     }
     catch { return("..."); }
 }
예제 #21
0
파일: Agreements.cs 프로젝트: lsyuan/ecms
        /// <summary>
        /// 获取收费协议json
        /// </summary>
        /// <param name="param"></param>
        /// <param name="agree"></param>
        /// <param name="itemCount"></param>
        /// <returns></returns>
        public List <dynamic> SearchContrast(EasyUIGridParamModel param, Agreements agree, Customer c, out int itemCount)
        {
            List <SqlParameter> paramList = new List <SqlParameter>();
            StringBuilder       StrSql    = new StringBuilder();

            StrSql.Append(@"select a.ID,c.ID as customerID,c.Code,c.Name,a.Money,a.Status, 
                            a.begindate,a.enddate,a.createtime,a.checktime,a.Code as agreementCode
                            from  T_Agreements a  
                            left join T_Customer c on c.ID=a.CustomerID  
                            where 1=1 ");
            Dictionary <string, object> paramDic = new Dictionary <string, object>();

            if (!string.IsNullOrEmpty(agree.ID))
            {
                StrSql.Append("and a.ID=@ID ");
                paramDic.Add("ID", agree.ID);
            }
            if (agree.BeginDate.ToString() != "0001/1/1 0:00:00" && agree.EndDate.ToString() != "0001/1/1 0:00:00")
            {
                StrSql.Append("and a.begindate>=@beginDate and a.enddate<=@endDate ");
                paramDic.Add("beginDate", agree.BeginDate);
                paramDic.Add("endDate", agree.EndDate);
            }
            if (agree.Status != -1)
            {
                StrSql.Append("and a.status=@status ");
                paramDic.Add("status", agree.Status);
            }
            if (!string.IsNullOrEmpty(agree.CustomerID))
            {
                StrSql.Append("and c.ID=@customerID ");
                paramDic.Add("customerID", agree.CustomerID);
            }
            if (!string.IsNullOrEmpty(c.Name))
            {
                StrSql.Append("and c.Name like @name ");
                paramDic.Add("name", string.Format("%{0}%", c.Name));
            }

            int pageIndex = Convert.ToInt32(param.page) - 1;
            int pageSize  = Convert.ToInt32(param.rows);

            using (DBHelper db = DBHelper.Create())
            {
                itemCount = db.GetCount(string.Format(DBHelper.StrGetCountSql, StrSql), paramDic);
                return(db.GetDynaminObjectList(StrSql.ToString(), pageIndex, pageSize, null, paramDic));
            }
        }
예제 #22
0
        public string GetRoomGender(int dormId, int roomNumber, int roomTypeId)
        {
            List <bool> isMale;

            isMale = Persons.GetAll()
                     .Join(
                Agreements.GetAll(),
                person => person.id_person,
                agreement => agreement.person_id,
                (person, agreement) => new KeyValuePair <Person, Agreement>(person, agreement)
                )
                     .Where(res =>
                            (res.Key.is_living == true) && (res.Value.room_id == roomTypeId) &&
                            (res.Value.is_active == true) && (res.Value.room_number == roomNumber) &&
                            (res.Value.dorm_id == dormId))
                     .Select(res => res.Key.is_male)
                     .ToList();
            if (isMale.Count != 0)
            {
                bool first = isMale.First(); //true, if there is a man in room
                bool q     = true;           //true, if all the elements the same
                foreach (bool item in isMale)
                {
                    if (item != first)
                    {
                        q = false;
                        break;
                    }
                }

                if (!q)
                {
                    return("М/Ж");
                }
                else if (first)
                {
                    return("М");
                }
                else
                {
                    return("Ж");
                }
            }
            else
            {
                return("-");
            }
        }
예제 #23
0
        public ActionResult ModifyAgree(Agreements a)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                result.Success = new AgreementsRule().Update(a);
                result.Message = "协议修改成功。";
            }
            catch
            {
                result.Success = false;
                result.Message = "协议修改失败。";
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #24
0
        bool makeGroupIdBasketndAgreement(PaymentViewModel model)
        {
            IList <Basket> basketList      = _mainContext.baskets.Where(w => w.basketStatus == BasketStatusEnum.active && w.userId == _usersService.getUserInformation(_cookieService.getSessionEmail()).userId).ToList();
            Guid           responsibleUser = new Guid();

            responsibleUser = _usersService.getUserInformation(_cookieService.getSessionEmail()).responsibleUserId;

            foreach (var item in basketList)
            {
                Guid agreementsId = Guid.NewGuid();
                int  firstStatus  = _agreementService.getFirstStatus();
                item.basketGroupId = model.basketGroupId;
                item.basketStatus  = BasketStatusEnum.done;
                Agreements agreementsModel = new Agreements();
                agreementsModel.id = agreementsId;
                agreementsModel.appCategoryType     = ApplicationCategoryTypesEnum.brand;
                agreementsModel.basketId            = item.basketId;
                agreementsModel.groupId             = model.basketGroupId;
                agreementsModel.companyIdForInvoice = Convert.ToInt32(model.selectedCompanieForInvoice);
                agreementsModel.statusId            = firstStatus;
                agreementsModel.generalStatus       = GeneralStatusEnum.Active;
                agreementsModel.paymentType         = model.paymentStatus;
                agreementsModel.processDate         = DateTime.Now;
                if (responsibleUser != new Guid())
                {
                    agreementsModel.responsibleUserId = responsibleUser;
                }

                AgreementsChanges agreementsChangesModel = new AgreementsChanges();
                agreementsChangesModel.agreementId   = agreementsId;
                agreementsChangesModel.comments      = "";
                agreementsChangesModel.generalStatus = GeneralStatusEnum.Active;
                agreementsChangesModel.processDate   = DateTime.Now;
                agreementsChangesModel.status        = firstStatus;
                agreementsChangesModel.userId        = _usersService.getUserInformation(_cookieService.getSessionEmail()).userId;
                _mainContext.Add(agreementsChangesModel);
                _mainContext.Add(agreementsModel);
            }
            if (_mainContext.SaveChanges() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #25
0
 public int GetPersonId(PersonData person)
 {
     try
     {
         return(Persons.GetAll().Join(
                    Agreements.GetAll(),
                    p => p.id_person,
                    a => a.person_id,
                    (p, a) => new KeyValuePair <Person, Agreement>(p, a)).Where(
                    x => (x.Key.surname == person.SurName) &&
                    (x.Key.name == person.Name) &&
                    (x.Key.is_living == true) &&
                    (x.Value.room_number == person.Room) &&
                    (x.Value.dorm_id == person.DormID)).Select(res => res.Key.id_person).ToList().SingleOrDefault());
     }
     catch { return(0); }
 }
예제 #26
0
 public IEnumerable <int> GetLivingRooms(int floor, int dormId)
 {
     return
         (Persons.GetAll()
          .Join(
              Agreements.GetAll(),
              person => person.id_person,
              agreement => agreement.person_id,
              (person, agreement) => new KeyValuePair <Person, Agreement>(person, agreement)
              )
          .Where(res =>
                 (res.Key.is_living == true) && (res.Value.floor_number == floor) &&
                 (res.Value.is_active == true) && (res.Value.dorm_id == dormId))
          .Select(res => res.Value.room_number)
          .Distinct()
          .ToList());
 }
예제 #27
0
        public IHttpActionResult UpdateAgreement(int id, [FromBody] BaseRate.RateType newBaseRateType)
        {
            Agreement agreement = db.Agreements.Include("Customer").SingleOrDefault(x => x.Id == id);

            if (agreement == null)
            {
                return(NotFound());
            }

            BaseRate.RateType oldBaseRateType = agreement.BaseRateType;
            agreement.BaseRateType = newBaseRateType;

            db.MarkAsModified(agreement);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }

            // check if base rate record exists

            BaseRate currentBaseRate = db.BaseRates.SingleOrDefault(x => x.Code == oldBaseRateType);
            BaseRate newBaseRate     = db.BaseRates.SingleOrDefault(x => x.Code == newBaseRateType);

            if (currentBaseRate == null || newBaseRate == null)
            {
                // Better solution would be to throw a custom exception with an error message

                return(InternalServerError(new ArgumentNullException("Base Rate record was not found")));
            }

            // to client we need to return an agreement with an old base rate type
            agreement.BaseRateType = oldBaseRateType;

            var agremeentExtended = Agreements.GetExtendedAgreement(agreement, newBaseRateType, currentBaseRate.Value, newBaseRate.Value);

            return(Ok(agremeentExtended));
        }
예제 #28
0
        public void ChangeRoom(PersonData person, NewPlace place, string admin_name, int dorm_id)
        {
            Agreements.GetAll().Where(a => a.person_id == GetPersonId(person)).ToList().
            ForEach(x =>
            {
                x.floor_number = place.NewFloor;
                x.room_number  = place.NewRoom;
                x.room_id      = place.NewRoomTypeId;
            });

            History.Add(
                new History
            {
                admin_name  = admin_name,
                dorm_id     = dorm_id,
                description = person.SurName + " " + person.Name + " " + "переехал(-а) из " + person.Room
                              + " в " + place.NewRoom,
                changeRoomFlag = true
            });
        }
예제 #29
0
        public ActionResult AddAgree(Agreements agree)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                agree.CheckTime       = DateTime.MaxValue;
                agree.ID              = WebHelper.GetNewGuidUpper();
                agree.CheckOperatorID = MyTicket.CurrentTicket.UserID;
                agree.CreateTime      = DateTime.Now;
                new AgreementsRule().Add(agree);
                result.Success = true;
                result.Message = "协议添加成功";
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = "协议添加失败:" + ex.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #30
0
        public ActionResult SearchAgree(EasyUIGridParamModel param, Agreements agree, Ajax.Model.Customer c)
        {
            int            itemCount = 0;
            List <dynamic> agreeList = new AgreementsRule().SearchAgree(param, agree, c, out itemCount);
            var            showList  = from a in agreeList
                                       select new
            {
                ID            = a.ID,
                CONTRASTID    = a.ID,
                CUSTOMERID    = a.CUSTOMERID,
                CODE          = a.CODE,
                NAME          = a.NAME,
                MONEY         = a.MONEY,
                BEGINDATE     = a.BEGINDATE,
                AGREEMENTCODE = a.AGREEMENTCODE,
                ENDDATE       = TimeParser.FormatDateTime(a.ENDDATE),
                STATUS        = Convert.ToString(a.STATUS).Replace("0", "未审核").Replace("1", "已审核").Replace("2", "已删除")
            };

            return(Json(new { total = itemCount, rows = showList }, JsonRequestBehavior.AllowGet));
        }