예제 #1
0
        public bool GiveCardBack(List <int> cardIds)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                try
                {
                    for (int i = 0; i < cardIds.Count(); i++)
                    {
                        UsersAccessUnit usersAccessUnit = _usersAccessUnitRepository.FindById(cardIds[i]);

                        var logCardEntity =
                            new UserAccessUnitEventEntity(usersAccessUnit);

                        usersAccessUnit.Active = true;
                        usersAccessUnit.ClassificatorValueId = null;
                        logCardEntity.SetNewUserAccessUnit(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));

                        _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                              CurrentUser.Get().CompanyId, logCardEntity.GetGiveCardBack());

                        var card_message = string.Format("Give Crad Back: Card '{0}'. Valid from '{1}' to '{2}'. Active '{3}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                            ? string.Format("{0} {1}",
                                                                                                            usersAccessUnit.Serial,
                                                                                                            usersAccessUnit.Dk)
                                                                                                            : usersAccessUnit.Code,
                                                         usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                         usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted", usersAccessUnit.Active);

                        _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, usersAccessUnit.Id, UpdateParameter.UserCardChange, ControllerStatus.Edited, card_message);
                    }
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
        public void CreateCard(int?userId, int?typeId, int?companyId, int buildingId, string serial, string dk, string code, bool isFree, DateTime?from, DateTime?to, bool?IsMainUnit)
        {
            //var result = -1;
            var is_new       = true;
            var card_message = string.Empty;
            int?cardId       = null;

            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                int?id = IsCardInSystem(serial, dk, code);

                var message = string.Empty;

                if (!id.HasValue)
                {
                    UsersAccessUnit usersAccessUnit = DomainObjectFactory.CreateUsersAccessUnit();
                    IFoxSecIdentity identity        = CurrentUser.Get();

                    usersAccessUnit.UserId     = userId;
                    usersAccessUnit.CompanyId  = companyId;
                    usersAccessUnit.TypeId     = typeId;
                    usersAccessUnit.Serial     = serial;
                    usersAccessUnit.Code       = code;
                    usersAccessUnit.Free       = isFree;
                    usersAccessUnit.Active     = !isFree;
                    usersAccessUnit.Dk         = dk;
                    usersAccessUnit.IsDeleted  = false;
                    usersAccessUnit.CreatedBy  = identity.Id;
                    usersAccessUnit.ValidFrom  = from;
                    usersAccessUnit.ValidTo    = to;
                    usersAccessUnit.BuildingId = Convert.ToInt32(buildingId);
                    usersAccessUnit.IsMainUnit = IsMainUnit;

                    _usersAccessUnitRepository.Add(usersAccessUnit);

                    work.Commit();
                    var logCardEntity =
                        new UserAccessUnitEventEntity(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));
                    cardId = usersAccessUnit.Id;

                    card_message = string.Format(" Card '{0}'. Valid from '{1}' to '{2}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                    ? string.Format("{0} {1}",
                                                                                                    usersAccessUnit.Serial,
                                                                                                    usersAccessUnit.Dk)
                                                                                                    : usersAccessUnit.Code,
                                                 usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                 usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted");

                    message = logCardEntity.GetCreateMessage();

                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                          CurrentUser.Get().CompanyId, message);

                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, cardId.Value, UpdateParameter.UserCardChange, is_new ? ControllerStatus.Created : ControllerStatus.Edited, card_message);
                }
                else
                {
                    is_new = false;
                    cardId = id;

                    UsersAccessUnit usersAccessUnit = _usersAccessUnitRepository.FindById(id.Value);
                    var             logCardEntity   = new UserAccessUnitEventEntity(usersAccessUnit);

                    usersAccessUnit.UserId    = userId;
                    usersAccessUnit.CompanyId = companyId;
                    usersAccessUnit.TypeId    = typeId;
                    usersAccessUnit.Serial    = serial;
                    usersAccessUnit.Code      = code;
                    usersAccessUnit.Free      = isFree;
                    if (!usersAccessUnit.Active)
                    {
                        usersAccessUnit.ClassificatorValueId = null;
                    }
                    usersAccessUnit.Active     = true;
                    usersAccessUnit.Dk         = dk;
                    usersAccessUnit.IsDeleted  = false;
                    usersAccessUnit.ValidFrom  = from;
                    usersAccessUnit.ValidTo    = to;
                    usersAccessUnit.BuildingId = buildingId;


                    work.Commit();

                    card_message = string.Format(" Card '{0}'. Valid from '{1}' to '{2}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                    ? string.Format("{0} {1}",
                                                                                                    usersAccessUnit.Serial,
                                                                                                    usersAccessUnit.Dk)
                                                                                                    : usersAccessUnit.Code,
                                                 usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                 usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted");

                    logCardEntity.SetNewUserAccessUnit(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));

                    message = logCardEntity.GetEditMessage();

                    _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                          CurrentUser.Get().CompanyId, message);

                    _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, cardId.Value, UpdateParameter.UserCardChange, is_new ? ControllerStatus.Created : ControllerStatus.Edited, card_message);
                }
                //result = 1;
            }
        }
예제 #3
0
        public bool EditCard(int id, int?userId, int?typeId, int?companyId, int?buildingId, string serial, string dk, string code, bool isFree, DateTime?from, DateTime?to, string Comment, bool?IsMainUnit, bool?isActive = null)
        {
            using (IUnitOfWork work = UnitOfWork.Begin())
            {
                try
                {
                    UsersAccessUnit usersAccessUnit = _usersAccessUnitRepository.FindById(id);
                    int?            idc             = IsCardInSystem(serial, dk, code);

                    var message = string.Empty;



                    if (!idc.HasValue || idc == id)
                    {
                        var logCardEntity =
                            new UserAccessUnitEventEntity(usersAccessUnit);
                        ////127 changes
                        usersAccessUnit.Opened = DateTime.Now;
                        if (to >= DateTime.Now.Date)
                        {
                            usersAccessUnit.Closed = null;
                        }
                        else
                        {
                            usersAccessUnit.Closed = DateTime.Now;
                        }
                        usersAccessUnit.UserId     = userId;
                        usersAccessUnit.CompanyId  = companyId;
                        usersAccessUnit.TypeId     = typeId;
                        usersAccessUnit.Serial     = serial;
                        usersAccessUnit.Code       = code;
                        usersAccessUnit.Free       = isFree;
                        usersAccessUnit.Dk         = dk;
                        usersAccessUnit.IsDeleted  = false;
                        usersAccessUnit.ValidFrom  = from;
                        usersAccessUnit.ValidTo    = to;
                        usersAccessUnit.Comment    = Comment;
                        usersAccessUnit.IsMainUnit = IsMainUnit;
                        if (buildingId.HasValue)
                        {
                            if (buildingId != 0)
                            {
                                usersAccessUnit.BuildingId = buildingId.Value;
                            }
                        }
                        if (isActive.HasValue)
                        {
                            if (usersAccessUnit.Active == false && isActive.Value == true)
                            {
                                usersAccessUnit.ClassificatorValueId = null;
                            }
                            usersAccessUnit.Active = isActive.Value;
                        }

                        work.Commit();

                        logCardEntity.SetNewUserAccessUnit(_usersAccessUnitRepository.FindById(usersAccessUnit.Id));

                        _logService.CreateLog(CurrentUser.Get().Id, "web", flag, CurrentUser.Get().HostName,
                                              CurrentUser.Get().CompanyId, logCardEntity.GetEditMessage());

                        var card_message = string.Format(" Card '{0}'. Valid from '{1}' to '{2}'", string.IsNullOrEmpty(usersAccessUnit.Code)
                                                                                            ? string.Format("{0} {1}",
                                                                                                            usersAccessUnit.Serial,
                                                                                                            usersAccessUnit.Dk)
                                                                                                            : usersAccessUnit.Code,
                                                         usersAccessUnit.ValidFrom.HasValue ? usersAccessUnit.ValidFrom.Value.ToString("dd.MM.yyyy") : "not setted",
                                                         usersAccessUnit.ValidTo.HasValue ? usersAccessUnit.ValidTo.Value.ToString("dd.MM.yyyy") : "not setted");

                        _controllerUpdateService.CreateControllerUpdate(CurrentUser.Get().Id, usersAccessUnit.Id, UpdateParameter.UserCardChange, ControllerStatus.Edited, card_message);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            return(true);
        }