Ejemplo n.º 1
0
        public async Task Notify(AbpDzNotificationInfo item, CrudOperation operation)
        {
            object data = null;

            switch (operation)
            {
            case CrudOperation.Create:
                data = item;
                break;

            case CrudOperation.Update:
                data = item;
                break;

            default:
                break;
            }
            await this.Notify(
                data,
                nameof(AbpDzNotificationService),
                nameof(AbpDzNotificationInfo),
                operation,
                item.Id.ToString(),
                null,
                item.RecipientId,
                item.RecipientRoleId,
                item.RecipientPermission);
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(UserMaster model, CrudOperation operation, bool isForListInline = false)
        {
            UserMaster objUserMaster;
            UserMaster objUserMasterOld = new UserMaster();
            decimal    id = 0;

            if (operation == CrudOperation.Add)
            {
                objUserMaster = new UserMaster();
            }
            else
            {
                objUserMaster    = UserMaster.SelectByPrimaryKey(model.UserId);
                objUserMasterOld = objUserMaster.ShallowCopy();
            }

            objUserMaster.UserId     = model.UserId;
            objUserMaster.UserName   = model.UserName;
            objUserMaster.Password   = model.Password;
            objUserMaster.Email      = model.Email;
            objUserMaster.CreatedOn  = model.CreatedOn;
            objUserMaster.CreatedBy  = model.CreatedBy;
            objUserMaster.ModifiedOn = model.ModifiedOn;
            objUserMaster.ModifiedBy = model.ModifiedBy;

            if (operation == CrudOperation.Add)
            {
                id = objUserMaster.Insert();
            }
            else
            {
                objUserMaster.Update();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(CourseEnrollment model, CrudOperation operation, bool isForListInline = false)
        {
            CourseEnrollment objCourseEnrollment;
            CourseEnrollment objCourseEnrollmentOld = new CourseEnrollment();
            decimal          id = 0;

            if (operation == CrudOperation.Add)
            {
                objCourseEnrollment = new CourseEnrollment();
            }
            else
            {
                objCourseEnrollment    = CourseEnrollment.SelectByPrimaryKey(model.EnrollmentId);
                objCourseEnrollmentOld = objCourseEnrollment.ShallowCopy();
            }

            objCourseEnrollment.EnrollmentId = model.EnrollmentId;
            objCourseEnrollment.CourseName   = model.CourseName;
            objCourseEnrollment.StudentName  = model.StudentName;
            objCourseEnrollment.Comments     = model.Comments;

            if (operation == CrudOperation.Add)
            {
                id = objCourseEnrollment.Insert();
            }
            else
            {
                objCourseEnrollment.Update();
            }
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(Course model, CrudOperation operation, bool isForListInline = false)
        {
            Course  objCourse;
            Course  objCourseOld = new Course();
            decimal id           = 0;

            if (operation == CrudOperation.Add)
            {
                objCourse = new Course();
            }
            else
            {
                objCourse    = Course.SelectByPrimaryKey(model.CourseId);
                objCourseOld = objCourse.ShallowCopy();
            }

            objCourse.CourseId   = model.CourseId;
            objCourse.CourseName = model.CourseName;
            objCourse.StartDate  = model.StartDate;
            objCourse.EndDate    = model.EndDate;
            objCourse.Fees       = model.Fees;

            if (operation == CrudOperation.Add)
            {
                id = objCourse.Insert();
            }
            else
            {
                objCourse.Update();
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(Student model, CrudOperation operation, bool isForListInline = false)
        {
            Student objStudent;
            Student objStudentOld = new Student();
            decimal id            = 0;

            if (operation == CrudOperation.Add)
            {
                objStudent = new Student();
            }
            else
            {
                objStudent    = Student.SelectByPrimaryKey(model.StudenId);
                objStudentOld = objStudent.ShallowCopy();
            }

            objStudent.StudenId      = model.StudenId;
            objStudent.StudentName   = model.StudentName;
            objStudent.EmailId       = model.EmailId;
            objStudent.ContactNumber = model.ContactNumber;
            objStudent.Password      = model.Password;

            if (operation == CrudOperation.Add)
            {
                id = objStudent.Insert();
            }
            else
            {
                objStudent.Update();
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(Enquiry model, CrudOperation operation, bool isForListInline = false)
        {
            Enquiry objEnquiry;
            Enquiry objEnquiryOld = new Enquiry();
            decimal id            = 0;

            if (operation == CrudOperation.Add)
            {
                objEnquiry = new Enquiry();
            }
            else
            {
                objEnquiry    = Enquiry.SelectByPrimaryKey(model.EnquiryId);
                objEnquiryOld = objEnquiry.ShallowCopy();
            }

            objEnquiry.EnquiryId   = model.EnquiryId;
            objEnquiry.CourseId    = model.CourseId;
            objEnquiry.StudentName = model.StudentName;
            objEnquiry.ContactNo   = model.ContactNo;
            objEnquiry.Comments    = model.Comments;

            if (operation == CrudOperation.Add)
            {
                id = objEnquiry.Insert();
            }
            else
            {
                objEnquiry.Update();
            }
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(RoleMaster model, CrudOperation operation, bool isForListInline = false)
        {
            RoleMaster objRoleMaster;
            RoleMaster objRoleMasterOld = new RoleMaster();
            decimal    id = 0;

            if (operation == CrudOperation.Add)
            {
                objRoleMaster = new RoleMaster();
            }
            else
            {
                objRoleMaster    = RoleMaster.SelectByPrimaryKey(model.RoleId);
                objRoleMasterOld = objRoleMaster.ShallowCopy();
            }

            objRoleMaster.RoleId          = model.RoleId;
            objRoleMaster.RoleDescription = model.RoleDescription;
            objRoleMaster.CreatedOn       = model.CreatedOn;
            objRoleMaster.CreatedBy       = model.CreatedBy;
            objRoleMaster.ModifiedOn      = model.ModifiedOn;
            objRoleMaster.ModifiedBy      = model.ModifiedBy;

            if (operation == CrudOperation.Add)
            {
                id = objRoleMaster.Insert();
            }
            else
            {
                objRoleMaster.Update();
            }
        }
        private void btnlogin_Click(object sender, EventArgs e)
        {
            string username = txtUsername.Text;
            string password = txtPassword.Text;

            //  CrudOperation myObj = new CrudOperation();
            Classes.CrudOperation myobj = new CrudOperation();


            if (checkFields())
            {
                MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `username`=@un AND password=@pass");
                command.Parameters.Add("@un", MySqlDbType.VarChar).Value   = username;
                command.Parameters.Add("@pass", MySqlDbType.VarChar).Value = password;
                DataTable table = myobj.getData(command);

                if (table.Rows.Count > 0)
                {
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    lblinvaliddetails.Visible = true;
                    Authenticated             = false;
                }
            }
        }
Ejemplo n.º 9
0
 public Changestep(TData data, CrudOperation operation, IDiff diff, DateTime timestamp)
 {
     Data      = data;
     Operation = operation;
     Diff      = diff;
     Timestamp = timestamp;
 }
Ejemplo n.º 10
0
        /// <summary>
        /// Create a new record entry in a Vista file
        /// </summary>
        /// <param name="fieldsAndValues">The field number and value dictionary</param>
        /// <param name="vistaFile">The Vista file number</param>
        /// <param name="iens">If creating a record in a subfile, the IENS string of the parent record</param>
        /// <returns>The IEN of the new record</returns>
        public CrudOperation create(Dictionary <String, String> fieldsAndValues, String vistaFile, String iens = null)
        {
            Dictionary <String, String> wpFieldsAndValues = findWpFields(fieldsAndValues);
            DdrFiler request      = buildCreateRequest(fieldsAndValues, vistaFile, iens);
            DateTime startRequest = DateTime.Now;
            String   response     = request.execute();
            DateTime endRequest   = DateTime.Now;
            String   parsed       = toCreateUpdateDeleteRecordResponse(response);

            // if we get this far, create succeeded! to make the API easier to use, enable user to pass WP fields in dictionary
            foreach (String key in wpFieldsAndValues.Keys)
            {
                addWordProcessing(vistaFile, key, String.Concat(parsed, ",", iens), wpFieldsAndValues[key]);
            }

            //return result;
            CrudOperation result = new CrudOperation()
            {
                RPC = new RPC()
                {
                    Name           = request.buildRequest().RpcName,
                    RequestString  = request.buildRequest().buildMessage(),
                    ResponseString = response,
                    RequestTime    = startRequest,
                    ResponseTime   = endRequest
                },
                Result = parsed,
                Type   = CrudOperationType.CREATE
            };

            return(result);
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(UserRoles model, CrudOperation operation, bool isForListInline = false)
        {
            UserRoles objUserRoles;
            UserRoles objUserRolesOld = new UserRoles();
            decimal   id = 0;

            if (operation == CrudOperation.Add)
            {
                objUserRoles = new UserRoles();
            }
            else
            {
                objUserRoles    = UserRoles.SelectByPrimaryKey(model.UserRoleId);
                objUserRolesOld = objUserRoles.ShallowCopy();
            }

            objUserRoles.UserRoleId = model.UserRoleId;
            objUserRoles.UserId     = model.UserId;
            objUserRoles.RoleId     = model.RoleId;
            objUserRoles.Status     = model.Status;

            if (operation == CrudOperation.Add)
            {
                id = objUserRoles.Insert();
            }
            else
            {
                objUserRoles.Update();
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Returns a dictionary of field numbers and values
        /// </summary>
        /// <param name="recordIen">The IEN in the Vista file</param>
        /// <param name="fields">Separate fields with a semicolon - e.g.: .01;.02;9  Leave blank to retrieve all fields</param>
        /// <param name="vistaFile">The Vista file number</param>
        /// <returns>CrudOperation</returns>
        public CrudOperation read(String recordIen, String fields, String vistaFile, String flags = null)
        {
            DdrGetsEntry ddr            = buildReadRequest(recordIen, fields, vistaFile);
            DateTime     startRequest   = DateTime.Now;
            String       rawRpcResponse = ddr.execute(ddr.buildRequest()); //.execute();

            String[] results    = StringUtils.split(rawRpcResponse, StringUtils.CRLF);
            DateTime endRequest = DateTime.Now;
            //return ddr.convertToFieldValueDictionary(results);
            Dictionary <String, String> parsed = ddr.convertToFieldValueDictionary(results);

            CrudOperation result = new CrudOperation()
            {
                RPC = new RPC()
                {
                    Name           = ddr.buildRequest().RpcName,
                    RequestString  = ddr.buildRequest().buildMessage(),
                    ResponseString = rawRpcResponse,
                    RequestTime    = startRequest,
                    ResponseTime   = endRequest
                },
                Result = parsed,
                Type   = CrudOperationType.READ
            };

            return(result);
        }
Ejemplo n.º 13
0
        protected void Log(object message, CrudOperation crudOperation = CrudOperation.None)
        {
            Color color;

            switch (crudOperation)
            {
            case CrudOperation.Create:
                color = Color.green;
                break;

            case CrudOperation.Update:
                color = Color.yellow;
                break;

            case CrudOperation.Delete:
                color = Color.red;
                break;

            default:
                color = Color.white;
                break;
            }
            Color blendColor;

#if UNITY_PRO_LICENSE
            blendColor = Color.white;
#else
            blendColor = Color.black;
#endif
            Debug.Log(message.ToString().Color(Color.Lerp(color, blendColor, 0.5F)));
        }
Ejemplo n.º 14
0
        protected static XmlBody GetCrudBody <T>(CrudOperation <T> operation) where T : ZObject
        {
            XmlBody body = new XmlBody();

            switch (operation.OperationType)
            {
            case CrudOperations.Insert:
                body.InsertTemplate = new BasicCrudTemplate
                {
                    ZObjects = operation.Items
                };
                break;

            case CrudOperations.Update:
                body.UpdateTemplate = new BasicCrudTemplate
                {
                    ZObjects = operation.Items
                };
                break;

            case CrudOperations.Delete:
                body.DeleteTemplate = new DeleteTemplate
                {
                    ZObjects = operation.Items
                };
                break;
            }

            return(body);
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(LoginTable model, CrudOperation operation, bool isForListInline = false)
        {
            LoginTable objLoginTable;
            LoginTable objLoginTableOld = new LoginTable();
            decimal    id = 0;

            if (operation == CrudOperation.Add)
            {
                objLoginTable = new LoginTable();
            }
            else
            {
                objLoginTable    = LoginTable.SelectByPrimaryKey(model.Adminid);
                objLoginTableOld = objLoginTable.ShallowCopy();
            }

            objLoginTable.Adminid  = model.Adminid;
            objLoginTable.Password = model.Password;

            if (operation == CrudOperation.Add)
            {
                id = objLoginTable.Insert();
            }
            else
            {
                objLoginTable.Update();
            }
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(Admin model, CrudOperation operation, bool isForListInline = false)
        {
            Admin   objAdmin;
            Admin   objAdminOld = new Admin();
            decimal id          = 0;

            if (operation == CrudOperation.Add)
            {
                objAdmin = new Admin();
            }
            else
            {
                objAdmin    = Admin.SelectByPrimaryKey(model.AdminId);
                objAdminOld = objAdmin.ShallowCopy();
            }

            objAdmin.AdminId       = model.AdminId;
            objAdmin.AdminName     = model.AdminName;
            objAdmin.AdminPassword = model.AdminPassword;

            if (operation == CrudOperation.Add)
            {
                id = objAdmin.Insert();
            }
            else
            {
                objAdmin.Update();
            }
        }
Ejemplo n.º 17
0
 public void AddWorker()
 {
     IsWorkerEditVisible = true;
     _selectedOperation  = CrudOperation.Create;
     EditedWorker        = new Worker();
     RefreshWorkers();
     RefreshWorkers_number();
 }
Ejemplo n.º 18
0
        public void AddWorkPlanElement()
        {
            IsWorkPlanElementEditVisible = true;
            EditedWorkPlanElement        = new WorkPlanElement();
            PrepareLists();

            EditedWorkPlanElement.StartTime = TimeList.First();
            EditedWorkPlanElement.EndTime   = TimeList.ElementAt(1);
            _selectedOperation = CrudOperation.Create;
        }
Ejemplo n.º 19
0
        public static void SqlHelper(CrudOperation operation)
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = "Server=JESS_COMPUTER\\SQLEXPRESS;Database=firstDB;Trusted_Connection=true";
                conn.Open();

                operation(conn);
            }
        }
 /// <summary>
 /// Constructs a command to create a mobile service
 /// </summary>
 internal CreateMobileServiceTableScriptCommand(string serviceName, string tableName, CrudOperation operation, string config)
 {
     OperationId = "mobileservices";
     ServiceType = "services";
     Name = serviceName;
     TableName = tableName;
     Config = config;
     HttpVerb = HttpVerbPut;
     ContentType = "text/plain";
     HttpCommand = String.Format("mobileservices/{0}/tables/{1}/scripts/{2}/code", serviceName.ToLower(), tableName.ToLower(), operation.ToString().ToLower());
 }
 public void EditWorkPlanElement()
 {
     if (EditedWorkPlanElement != null && EditedWorkPlanElement.ID != 0)
     {
         IsWorkPlanElementEditVisible = true;
         _selectedOperation           = CrudOperation.Edit;
     }
     else
     {
         IsWorkPlanElementEditVisible = false;
     }
 }
Ejemplo n.º 22
0
 public void EditWorker()
 {
     if (EditedWorker != null && EditedWorker.ID != 0)
     {
         IsWorkerEditVisible = true;
         _selectedOperation  = CrudOperation.Edit;
     }
     else
     {
         IsWorkerEditVisible = false;
     }
 }
Ejemplo n.º 23
0
        public virtual ZuoraResponse Crud <T>(CrudOperation <T> operation) where T : ZObject
        {
            if (operation.Items.Count() > 50)
            {
                throw new ZuoraRequestException(
                          "The SOAP api only allows the modification of up to 50 records. " +
                          "Please use the Bulk api methods for any operation that requires " +
                          "higher limits.");
            }

            return(PerformSimpleRequest(SoapRequestManager.GetCrudRequest(operation, Login())));
        }
 public void EditRoom()
 {
     if (EditedRoom != null && EditedRoom.ID != 0)
     {
         IsRoomEditVisible  = true;
         _selectedOperation = CrudOperation.Edit;
     }
     else
     {
         IsRoomEditVisible = false;
     }
 }
Ejemplo n.º 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="entityType">
        /// GoofyEntityBase class
        /// </param>
        /// <param name="operation"></param>
        /// <returns>
        /// A new GoofyClaim if it didn't exist before, otherwise null;
        /// </returns>
        public GoofyClaim AddCrudClaim(Type entityType, CrudOperation operation)
        {
            var claimType = _claimNameBuilder.GetClaimType(entityType, operation);
            var crudClaim = new GoofyClaim(claimType, null, true);

            if (_claims.Contains(crudClaim))
            {
                return(null);
            }
            _claims.Add(crudClaim);
            return(crudClaim);
        }
 public void EditClass()
 {
     if (EditedClass != null && EditedClass.ID != 0)
     {
         IsClassEditVisible = true;
         _selectedOperation = CrudOperation.Edit;
     }
     else
     {
         IsClassEditVisible = false;
     }
 }
Ejemplo n.º 27
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="entityType"></param>
        /// <param name="operation"></param>
        /// <returns>
        ///  A new GoofyCrudPolicy if it didn't exist before, otherwise null;
        /// </returns>
        public GoofyCrudPolicy AddNewGoofyCrudPolicy(Type entityType, CrudOperation operation)
        {
            var claim = _claimManager.AddCrudClaim(entityType, operation);

            if (claim != null)
            {
                var policyName = _policyNameBuilder.GetPolicyName(entityType, operation);
                var policy     = new GoofyCrudPolicy(policyName, claim.ClaimType);
                _goofyPolicies.Add(policy);
                return(policy);
            }
            return(null);
        }
        public void AddWorkPlanElement()
        {
            IsWorkPlanElementEditVisible = true;
            EditedWorkPlanElement        = new WorkPlanElement();
            PrepareLists();

            EditedWorkPlanElement.Room      = RoomList.FirstOrDefault();
            EditedWorkPlanElement.Class     = ClassList.FirstOrDefault();
            EditedWorkPlanElement.StartTime = TimeList.First();
            EditedWorkPlanElement.EndTime   = TimeList.ElementAt(1);
            EditedWorkPlanElement.Worker    = Workers.FirstOrDefault();
            _selectedOperation = CrudOperation.Create;
        }
        /// <summary>
        /// Used when adding or updating a record.
        /// </summary>
        internal static void AddOrEdit(WorkflowStepsMaster model, CrudOperation operation, bool isForListInline = false)
        {
            WorkflowStepsMaster objWorkflowStepsMaster;
            WorkflowStepsMaster objWorkflowStepsMasterOld = new WorkflowStepsMaster();
            decimal             id = 0;

            if (operation == CrudOperation.Add)
            {
                objWorkflowStepsMaster = new WorkflowStepsMaster();
            }
            else
            {
                objWorkflowStepsMaster    = WorkflowStepsMaster.SelectByPrimaryKey(model.StepId);
                objWorkflowStepsMasterOld = objWorkflowStepsMaster.ShallowCopy();
            }

            objWorkflowStepsMaster.StepId        = model.StepId;
            objWorkflowStepsMaster.WorKflowId    = model.WorKflowId;
            objWorkflowStepsMaster.ApprovalLevel = model.ApprovalLevel;
            objWorkflowStepsMaster.Description   = model.Description;
            objWorkflowStepsMaster.AutoApprove   = model.AutoApprove;
            objWorkflowStepsMaster.CreatedBy     = model.CreatedBy;
            objWorkflowStepsMaster.CreatedOn     = model.CreatedOn;
            objWorkflowStepsMaster.UpdatedBy     = model.UpdatedBy;
            objWorkflowStepsMaster.UpdatedOn     = model.UpdatedOn;

            if (isForListInline)
            {
                objWorkflowStepsMaster.WaitTime = model.WaitTime;
            }
            else
            {
                if (!String.IsNullOrEmpty(model.WaitTimeHidden))
                {
                    objWorkflowStepsMaster.WaitTime = Convert.ToInt32(model.WaitTimeHidden);
                }
                else
                {
                    objWorkflowStepsMaster.WaitTime = null;
                }
            }

            if (operation == CrudOperation.Add)
            {
                id = objWorkflowStepsMaster.Insert();
            }
            else
            {
                objWorkflowStepsMaster.Update();
            }
        }
Ejemplo n.º 30
0
        public void CreateNote(WebCrmModelContainer db, CrudOperation crudOperation, ApplicationUser createUser, Person person = null, Company company = null, Task task = null)
        {
            var note = new Note();

            if (crudOperation == CrudOperation.Create)
            {
                note.Name    = "Novi unos od korisnika  " + createUser.UserName;
                note.Person  = person;
                note.Company = company;
                note.Task    = task;
            }

            if (crudOperation == CrudOperation.Update)
            {
                note.Name    = "Promjena unosa od korisnika " + createUser.UserName;
                note.Person  = person;
                note.Company = company;
                note.Task    = task;
            }

            if (crudOperation == CrudOperation.Delete)
            {
                if (company != null)
                {
                    note.Name = "Firma \"" + company.Name + "\" izbrisana od korisnika " + createUser.UserName;
                    foreach (var tempNote in db.NoteSet.Where(x => x.CompanyId == company.Id))
                    {
                        db.NoteSet.Remove(tempNote);
                    }
                }
                if (person != null)
                {
                    note.Name = "Osoba \"" + person.Forename + " " + person.Surname + "\" izbrisana od korisnika  " + createUser.UserName;
                    foreach (var tempNote in db.NoteSet.Where(x => x.PersonId == person.Id))
                    {
                        db.NoteSet.Remove(tempNote);
                    }
                }
                if (task != null)
                {
                    note.Name = "Zadatak \"" + task.Name + "\" izbrisan od korisnika " + createUser.UserName;
                    foreach (var tempNote in db.NoteSet.Where(x => x.TaskId == task.Id))
                    {
                        db.NoteSet.Remove(tempNote);
                    }
                }
            }


            db.NoteSet.Add(note);
        }
        public static HttpRequest GetCrudRequest <T>(CrudOperation <T> operation, ZuoraSession session) where T : ZObject
        {
            string      body    = SoapCommands.CrudOperation(operation, session.SessionId);
            HttpRequest request = new HttpRequest
            {
                Url    = session.InstanceUrl + session.SoapUrl,
                Body   = body,
                Method = RequestType.POST,
            };

            request.Headers.Add("SOAPAction", operation.OperationType.ToString().ToLower());

            return(request);
        }
Ejemplo n.º 32
0
 /// <summary>
 /// Use this if applying to a specific Action
 /// </summary>
 /// <param name="operation"></param>
 public CrudSecurity(CrudOperation operation)
 {
     CrudOperation = operation;
 }
        /// <summary>
        /// Adds a script for a crud operation to the table
        /// </summary>
        /// <param name="operationType">The type of operation</param>
        /// <param name="tableName">The name of the WAMS table</param>
        /// <param name="script">The script to add</param>
        /// <param name="permission">The permissions of the script to upload</param>
        public void AddTableScript(CrudOperation operationType, string tableName, string script, Types.MobileServices.Roles permission)
        {
            if (String.IsNullOrEmpty(tableName))
                throw new FluentManagementException("unable to add table with an empty name", "CreateMobileServicesTableScriptCommand");
            EnsureMobileServicesName();
            Refresh();
            // then create the script
            var command = new CreateMobileServiceTableScriptCommand(MobileServiceName, tableName, operationType, script)
            {
                SubscriptionId = SubscriptionId,
                Certificate = ManagementCertificate
            };
            command.Execute();
            // update the script with the new permissions
            var table = Tables.FirstOrDefault(a => a.TableName == tableName);
            var values = new List<string> { table.InsertPermission.ToString(), table.UpdatePermission.ToString(), table.ReadPermission.ToString(), table.DeletePermission.ToString()};
            // TODO: speak to MSFT about this - the cmdlets have a bug and all of the permissions need to be added for them to update more than a single one

            var dictionary = BuildCrudDictionary(values);
            dictionary[operationType.ToString().ToLower()] = permission.ToString().ToLower();

            // updates the script table service permissions
            var config = JsonConvert.SerializeObject(dictionary);
            var updateCommand = new UpdateMobileServiceTablePermissionsCommand(MobileServiceName, tableName, config)
                              {
                                  SubscriptionId = SubscriptionId,
                                  Certificate = ManagementCertificate
                              };
            updateCommand.Execute();
            Refresh();
        }
Ejemplo n.º 34
0
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var result = filterContext.Result as ViewResultBase;
            if (CrudOperation == CrudOperation.NotSet)
            {
                switch (filterContext.RequestContext.RouteData.Values["Action"].ToString().ToLower())
                {
                    case "create":
                        CrudOperation = Mvc.CrudOperation.Create;
                        break;
                    case "details":
                        CrudOperation = Mvc.CrudOperation.Delete;
                        break;
                    case "edit":
                        CrudOperation = Mvc.CrudOperation.Update;
                        break;
                    case "delete":
                        CrudOperation = Mvc.CrudOperation.Delete;
                        break;
                }
            }
            if (result != null)
            {
                var model = result.Model;
                if (model.HasCrudProerties())
                    switch (CrudOperation)
                    {
                        case CrudOperation.Create:
                            if (!(Boolean)ReflectionHelper.GetEvalProperty(model, "CanCreate"))
                            {
                                filterContext.HttpContext.Response.StatusCode = 403;
                                filterContext.HttpContext.Response.Flush();
                                filterContext.HttpContext.Response.End();
                            }

                            break;
                        case CrudOperation.Read:
                            if (!(Boolean)ReflectionHelper.GetEvalProperty(model, "CanRead"))
                            {
                                filterContext.HttpContext.Response.StatusCode = 403;
                                filterContext.HttpContext.Response.Flush();
                                filterContext.HttpContext.Response.End();
                            }
                            break;
                        case CrudOperation.Update:
                            if (!(Boolean)ReflectionHelper.GetEvalProperty(model, "CanUpdate"))
                            {
                                filterContext.HttpContext.Response.StatusCode = 403;
                                filterContext.HttpContext.Response.Flush();
                                filterContext.HttpContext.Response.End();
                            }
                            break;
                        case CrudOperation.Delete:
                            if (!(Boolean)ReflectionHelper.GetEvalProperty(model, "CanDelete"))
                            {
                                filterContext.HttpContext.Response.StatusCode = 403;
                                filterContext.HttpContext.Response.Flush();
                                filterContext.HttpContext.Response.End();
                            }
                            break;
                    }
            }
        }
Ejemplo n.º 35
0
 protected virtual void SetOperationUrl(CrudOperation operation, string actionName, string controllerName, object routeValues)
 {
     operation.Action(actionName, controllerName, routeValues);
     operation.Url = operation.GenerateUrl(viewContext, urlGenerator);
 }